google recaptcha v2没有响应服务器

时间:2018-03-30 09:17:05

标签: php recaptcha

编辑 - 这是IPv6问题

我把它缩小到了那个范围。细节在这里: Google Recaptcha check timeout due to IPv6 issue - php on IIS 谢谢。

原始问题:

Google Recaptcha v2在过去2天内已经停止在我的网站上工作,即使我们没有对代码进行任何更改。

我检查是否通过php正确输入了recaptcha:

$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$privatekey."&response=".$_POST['g-recaptcha-response']);
$response = json_decode($response, true);

if($response["success"] !== true){

    header('HTTP/1.1 403 Recaptcha Incorrect'); 
    exit("The recaptcha was entered incorrectly. Please try again.");

};

在过去的两天里,它停止了工作。当不工作时,谷歌的服务器似乎根本没有响应上述代码中的请求。我没有看到它失败了。它只是没有回应。

我的VPS无法与谷歌的服务器通信?

好像我的VPS突然停止与google recaptcha服务器通信了:

  • 我没有对代码进行任何更改。
  • 一直工作不一致
  • 当我在本地测试时,recaptcha工作正常
  • 当我将网站放在天蓝色的测试域上时(我的VPS不在azure上),recaptcha工作正常。

我应该从哪些想法开始解决这个问题?

所有的想法都非常受欢迎,因为我不知道哪里可以让它发挥作用。

感谢。

1 个答案:

答案 0 :(得分:1)

这是因为他们正在远离v1电话

  

对于v1 API的任何调用都不会在2018年3月31日之后生效。从2017年11月开始,一定比例的reCAPTCHA v1流量将开始显示通知,通知用户旧API很快就会停用。

https://developers.google.com/recaptcha/docs/faq

而是使用新的v2,https://developers.google.com/recaptcha/old/docs/php