无效的验证码客户端ID v3重新验证

时间:2020-02-27 09:42:05

标签: php recaptcha

我对v3验证码有一个奇怪的问题,希望有人可以帮助我。

我已经实现了v3验证码,并且运行良好,直到几天前,现在我一直收到

无效的客户ID

前端代码

<script src="https://www.google.com/recaptcha/api.js?render={{ env('RECAPTCHA_SITE_KEY')}}"></script>
<script>
    grecaptcha.ready(function() {
        grecaptcha.execute('{{ env('RECAPTCHA_SITE_KEY')}}', {action: 'register'}).then(function(token) {
            document.getElementById('recaptcha').value = token;
        });
    });
</script>

后端代码

 $url = 'https://www.google.com/recaptcha/api/siteverify';
    $remoteip = $_SERVER['REMOTE_ADDR'];
    $data = [
        'secret' => env('RECAPTCHA_SECRET_KEY'),
        'response' => $request->get('recaptcha'),
        'remoteip' => $remoteip
    ];
    $options = [
        'http' => [
            'header' => "Content-type: application/x-www-form-urlencoded\r\n",
            'method' => 'POST',
            'content' => http_build_query($data)
        ]
    ];
    $context = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    $resultJson = json_decode($result);
    if ($resultJson->success != true) {
        return back()->withErrors(['captcha' => 'ReCaptcha Error']);
    }
    if ($resultJson->score >= 0.3) {}
    else

    {
        return redirect(route('user.login.form'))->with('flash_error', tr('bot_verify_alert'));

    }

0 个答案:

没有答案
相关问题