У меня проблема с использованием сервиса Google CAPTCHA. Я могу проверить капчу в моей системе, которая не использует ssl. Когда я отправляю код на мой https-сайт, все проверки на наличие ошибок не выполняются.
Я видел несколько вопросов стека с одной и той же проблемой, но все посты старые, и они не решают проблему.
Мой код клиента —
<script type="text/javascript"src="https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script>
.....
var challenge= Recaptcha.get_challenge();
var response = Recaptcha.get_response();
...call to server passes above values
код сервера:
require_once('recaptchalib.php');
$privatekey = 'myprivatekey';
$resp = recaptcha_check_answer ( $privatekey , $_SERVER["REMOTE_ADDR"], $chall, $resp);
if (!$resp->is_valid) {
return false;
} else {
return true;
}
Я понял мою проблему.
Я отправлял значения в настраиваемое поле заголовка.
HTTP_USERENTERED_CODE при запуске на моем сервере заголовок был передан как HTTP-USERENTERED-CODE
Добавление проверки для другого имени формата устранило проблему.
Других решений пока нет …