Не reCAPTCHA дает мне ошибку 403

Недавно клиент сказал мне, что reCAPTCHA его сайта больше не работает. После расследования я узнал, что Google изменил его. Я обновил их сайт, используя новую документацию от 19 ноября 2014 года, но она всегда выдает ошибку 403. Я попытался отправить только секретный ключ, и это вернуло JSON-результат с ошибкой и ошибкой. Я сделал то же самое, просто отправив ответ из поля g-recaptcha-response, и он также вернул JSON-результат с ошибкой. Как только я помещаю их в строку, используя http_build_query, я получаю 403 запрета от Google.

Я использую новый http://www.google.com/recaptcha/api/siteverify URL. Я отправляю на него, используя PHP cURL, используя следующий код:

    $post_data = array('response'=>$response, 'secret'=>$privatekey);
$curlPost = http_build_query($post_data, '', '&');

$ch = curl_init();

//Set the URL of the page or file to download.
$url = 'http://www.google.com/recaptcha/api/siteverify';

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);

$data_json = curl_exec($ch);

Любая помощь будет принята с благодарностью.

3

Решение

Вы должны использовать https, поэтому правильный URL-адрес:

$url = 'https://www.google.com/recaptcha/api/siteverify';

Это должно исправить ошибку 403.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]