因此,我们在我们的网站中使用 google ReCaptcha,但对于一个国家/地区,它返回为 [invalid-input-response] 错误,但对于另一个网站的相同代码流程,它工作正常。 我看到其他人也提出了这个类似的问题,但没有回复,而且谷歌ReCaptcha支持邮件在他们的支持网站上也无效。我希望我能在这里得到一些对我的查询的解决方案/答复。 我检查了站点密钥和秘密密钥,它们是正确的。 我再次重复一遍,这段代码运行得很好。 什么可能导致此问题?
任何形式的回应都值得赞赏。 谢谢。
当您从客户端浏览器发送到 google api 进行验证的 google recaptcha 响应不正确时,就会导致此无效输入响应错误。发送前可能为空或被篡改。
解决方案:从我在此链接中看到和测试的内容 -> https://groups.google.com/g/recaptcha/c/yEPN3d9ylT8在Cyber的评论中,CURLOPT_HTTPHEADER是区分因素。但就我而言,我不需要为此添加 IP。
我使用 PHP 进行的测试。这是我的代码,有效。
$url = 'https://www.google.com/recaptcha/api/siteverify';
$secret = "YOUR_SECRET_KEY";
$reponse = $request['g-recaptcha-response'];
$variaveis = "secret=".$secret."&response=". $reponse;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST,1);
curl_setopt($curl, CURLOPT_POSTFIELDS,$variaveis);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded;
charset=utf-8', 'Content-Length: ' . strlen($variaveis)));
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
$resposta = curl_exec($curl);
我遇到了这个问题,即使完全遵循 Google 的文档,仍然收到此错误。
对我来说很容易尝试的一个潜在修复方法是在 Google reCAPTCHA 仪表板上创建一个新站点,并查看使用一组不同的公钥/密钥是否仍然存在问题。由于某种原因,我原来的按键停止工作,唯一的指示器是显示“无效输入响应”错误。
我因不小心在验证码帖子中发送消息内容而犯了非常愚蠢的错误。 如果有人在代码中实际发送错误之前比调试和检查数据更快地搜索错误,我会将其留在这里。
解释一下我在那里的情况:
错误:
"content":$('textarea[name="content"]').val(),
"g-recaptcha-response":$('textarea[name="content"]').val()},
更正:
"content":$('textarea[name="content"]').val(),
"g-recaptcha-response":$('textarea[id="g-recaptcha-response"]').val()},