Google reCAPTCHA не работает в системе Linux
Я работаю над интеграцией reCAPTCHA
с моей страницей регистрации и все, кажется, работает нормально, за исключением одной странной проблемы.
Я проверил этот код на всех локальных машинах и хорошо на нашем тестовом сервере (окно), и все работает. Мы только что установили сервер Linux (Cents OS 6.0
) и тестировал мою реализацию, которая не работает на машине с Linux. Независимо от того, правильно ли я ввожу код проверки или нет, в ответ я всегда получаю ложное значение. Это мой код Java, с помощью которого я вызываю Google reCAPTCHA API для проверки.
reCaptcha.checkAnswer(request.getRemoteAddr(), request.getParameter("challengeValue"),
request.getParameter("responseValue"));
Я пытался отладить код, но пока не смог добиться успеха, я заметил только одно отличие request.getRemoteAddr()
,
request.getRemoteAddr()
дает разные IP для Linux и сервера Window s. (Тот же браузер)
Сервер Window и Linux работают на одной машине с одинаковым IP (своего рода виртуальный ящик)
Я использую recaptcha4j для интеграции reCaptcha
API.
Для меня проблема, кажется, связана с настройкой или настройкой Linux, которая мне не известна. Я даже разговариваю с нашим ИТ-специалистом, и он также, похоже, ничего не знает.
Я проверил это на Ubuntu, и он работал нормально на этой машине, даже.. похоже на некоторые проблемы с конфигурацией Cent OS6
2 ответа
Я уверен, что разница между Вашим тестовым сервером и рабочим сервером заключается в брандмауэре.
Убедитесь, что он принимает вывод нового запроса на серверы Google и устанавливает с них.
Если вы используете iptables одним из способов достижения этой претензии:
iptables -A INPUT -i eth0 -p tcp -s <google_ipv4_1> -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -d <google_ipv4_1> -j ACCEPT
Вам необходимо определить браузер, а также операционную систему и любые плагины, которые вы используете, которые могут иметь отношение к делу. Обратите внимание на все, что может повлиять на обработку файлов cookie.
Ваша проблема возникает на этом хосте Linux с другим браузером? Как насчет другого хоста Linux?
ЕСЛИ ваши экземпляры virtualbox используют мостовую сеть, они могут использовать разные IP-адреса, полученные из DHCP, несмотря на то, что они находятся на одном физическом хосте.