recaptcha V2 провал проверки на стороне сервера после миграции сервера - PullRequest
0 голосов
/ 30 января 2019

Я недавно переместил серверы, и с тех пор, как моя пересылка не прошла проверку на стороне сервера.Я дважды проверил ключ сайта и секретный ключ, и они совпадают.

        function captchaVerify() {
            $privateKey = "matches recaptcha dashboard";
            $response;
            if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) {
                $response = $_POST['g-recaptcha-response'];
            } else {
                echo "bad POST response ";
                echo $response;
                return false;
            }

            if (isset($response) && !empty($response)) {
                $url = 'https://www.google.com/recaptcha/api/siteverify';
                $data = [
                  'secret' => $privateKey,
                    'response' => $response
                ];
                $options = [
                    'http' => [
                        'method' => 'POST',
                        'content' => http_build_query($data)
                    ]
                ];
                $context = stream_context_create($options);
                $verify = file_get_contents($url, false, $context);
                $captcha_success = json_decode($verify);

                if ($captcha_success->success == false) {
                //fails here
                    echo "success false ";
                    echo $response;
                    return false;
                } else {
                    return true;
                }
            } else {
                echo "empty or not set ";
                echo $response;
                return false;
            }
        }

Редактировать:

var_dump($response) выводит строку из 334 символов чисел и букв в последовательности

var_dump($data) выводит секретный ключ, соответствующий $ privateKey, совпадающий с консолью reCAPTCHA, за которым следует отклик gobbledygook

var_dump($context) выводит ресурс (13)

var_dump($verify) выводит BOOL (false)

var_dump($captcha_success) выходы NULL

Я не уверен, где еще устранить неполадки

...