我在我的网站上的rhe登录页面上实施了隐形的recaptcha,遵循关于如何自动将挑战自动绑定到按钮的官方指南": https://developers.google.com/recaptcha/docs/invisible#auto_render
我的html页面是这样制作的:
<head>
[...]
<script src="js/login.js"></script>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
<body>
[...]
<button type="submit" class="g-recaptcha btn btn-primary" data-sitekey="[...]" data-callback="checkCaptcha" id="loginSubmit">Login <i class="fas fa-sign-in-alt"></i></button>
[...]
</body>
</html>
,而javascript文件是:
function checkCaptcha(token) {
console.log("re-captcha callback invoked.");
login();
}
function login() {
[...]
}
但是在Google的面板页面上,我一直在留言 &#34;我们检测到您的网站未验证reCAPTCHA解决方案。这是在您的网站上正确使用reCAPTCHA所必需的。有关详细信息,请参阅我们的开发者网站。&#34;
有人可以帮助我理解我的错误吗?
非常感谢你的建议。
答案 0 :(得分:1)
当用户在您的html网页上解决验证码拼图(或点击提交按钮)时,Google recaptcha会为您的<form>
g-recaptcha-response
添加另一个隐藏的输入值,或者解析给定的{{1}功能。它包含一个字符串值,您应该将其发送回Google以验证服务器端的响应。
如果没有服务器端验证部分,recaptcha就没用了。 API请求详细信息如下,
网址:https://www.google.com/recaptcha/api/siteverify
方法:GET / POST(推荐)
参数:
请阅读Verifying the user's response上的Google文档,了解详情。