Я использую reCAPTCHA на своем сайте некоторое время, и вдруг понял, что он прекратил работать. ReCAPTCHA существует, однако после правильной проверки ответ FAILS, который делает отправку формы неудачной.
На стороне клиента консоль браузера выдает сообщение об ошибке:
Неподготовлено (в обещании) Недопустимое шифрование.
Я попытался найти эту ошибку, но не могу найти ничего подобного. После отправки формы проверка на стороне сервера в PHP терпит неудачу. Я не уверен, связана ли ошибка выше, однако она еще не была там.
Пример страницы интеграции на стороне клиента:
<html>
<head>
<title>reCAPTCHA demo: Simple page</title>
<script src="https://www.google.com/recaptcha/api.js" async defer>
</script>
</head>
<body>
<form action="?" method="POST">
<div class="g-recaptcha" data-sitekey="your_site_key"></div>
<br/>
<input type="submit" value="Submit">
</form>
</body>
</html>
Проверка на стороне сервера PHP:
$response = json_decode(
file_get_contents(
"https://www.google.com/recaptcha/api/siteverifysecret=MY_SECRET&response=".$_POST['g-recaptcha-response']."&remoteip=".$_SERVER['REMOTE_ADDR'] ), true );
if($response['success'] == false){
echo "FAIL";
} else {
//do something
}
Я следовал инструкциям, найденным здесь.