Назад | Перейти на главную страницу

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 и оконного сервера. (Тот же браузер)

Сервер Windows и Linux работают на одной машине с одинаковым IP-адресом (своего рода виртуальный ящик).

Я использую recaptcha4j интегрировать reCaptcha API.

Мне кажется, проблема связана с неизвестными мне настройками или конфигурациями Linux. Я даже разговариваю с нашим ИТ-специалистом, и он тоже, кажется, ничего не понимает.

Я тестировал это на Ubuntu, и он отлично работал даже на этой машине ... похоже, проблема с конфигурацией с Cent OS6

Я уверен, что отличие Твоего тестового сервера от рабочего сервера - межсетевой экран.
Убедитесь, что он принимает вывод новый запрос к серверам 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?

ЕСЛИ ваши экземпляры виртуальных ящиков используют мостовую сеть, они могут использовать разные IP-адреса, полученные от DHCP, несмотря на то, что находятся на одном физическом хосте.