[英]google recaptcha v2 verification expired but browser alert doesnt pop up
我有一个带有验证码的工作表。 当我加载网页并单击提交而不选中该框时,会显示警报(单击机器人),但是如果我让验证码过期并再次单击提交,则不会再弹出警报。 下面的代码有什么问题或有什么方法可以重写它吗?
<script>
window.onload = function() {
var recaptcha = document.forms["form"]["g-recaptcha-response"];
recaptcha.required = true;
recaptcha.oninvalid = function(e) {
alert("Please click on i am not a robot");
}
}
</script>
<script src="https://www.google.com/recaptcha/api.js"></script>
<div class="g-recaptcha" data-sitekey="xxx" data-callback="recaptcha"></div>
请看一下我的服务器端 php。 过去几天我多次尝试添加数据过期回调,但无法使其正常工作。
$recaptcha_secret = "xxx";
$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$recaptcha_secret."&response=".$_POST['g-recaptcha-response']);
$response = json_decode($response, true);
if($response["success"] === true) {
mail($to, $subject, $body, "From:" . $email);
}
else
{
return false;
}
echo 'success';
}
当用户选择复选框和选中的令牌过期时,重新验证码提供callback handlers
。 例如
<div class="g-recaptcha" id="headerCaptcha" data-callback="recaptchaCallbackHeader" data-expired-callback="recaptchaExpiryHeader" data-sitekey="xxx"></div>
// There should be expiry handler like
function recaptchaExpiryHeader(){
alert('You should have to check captcah again as it is expired');
}
更多相同
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.