检测/监听谷歌recaptcha提交



我试着在网上搜索,但一无所获。

我需要的是检查当用户提交验证码和发送表单它(例如也作为一个提交按钮)。我知道谷歌的验证码是框架所以我想知道这究竟是如何做到的:

  1. 实际上使用javascript在本地监听提交事件并提交表单
  2. 在我的php服务器中监听提交,然后将请求的结论传达给我的用户

我希望第一个是可能的,因为第二个会给臀部带来巨大的疼痛。有人知道怎么做吗,最好是方法一?

Google提供了验证captcha的功能。您需要在允许提交表单之前验证它。有关详细信息,请参阅他们的文档:https://developers.google.com/recaptcha/docs/display

我的设置是这样的:<script src='https://www.google.com/recaptcha/api.js?onload=reCaptchaCallback&render=explicit'></script>

var RC2KEY = 'sitekey';
function reCaptchaVerify(response) {
    if (response === document.querySelector('.g-recaptcha-response').value) {
        /* do something */
    }
}
function reCaptchaExpired () {
    /* do something when it expires */
}
function reCaptchaCallback () {
    grecaptcha.render('id', {
        'sitekey': RC2KEY,
        'callback': reCaptchaVerify,
        'expired-callback': reCaptchaExpired
    });
}

使用javascript在本地监听提交事件并提交表单

您想要侦听reCaptcha提交并发送表单。然后看看我对类似问题的回答:ReCaptcha v2.0 auto submit

重要

重要的是,你需要提交表单只有当谷歌服务器验证是成功的。答案中的代码是这样的:
success: function( data  ) {  
                var res = data.success.toString(); 
                if (res)
                   { document.myform.submit(); }    
            }  // end success