Detect/listen 用于 google 验证码提交?

Detect/listen for google recaptcha submission?

我尝试在线搜索此内容,但一无所获。

我需要检查用户何时提交验证码并从发送表单(i.g。也作为提交按钮)。 我知道 google 的 recaptcha 是 iframed 所以我想知道这到底是怎么做到的:

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

我希望 1 实际上是可能的,因为第二个会给臀部带来巨大的疼痛。有没有人知道如何做到这一点,最好是通过方法 1?

看看这个Developer Guide to ReCaptcha

listen to the submission event locally using javascript and submit the form

您想收听 reCaptcha 提交并发送表格。然后看我对类似问题的回答:

重要

重要的是,只有在 google 服务器验证成功 时,您才需要提交表单 。答案中的代码解决了这个问题:

success: function( data  ) {  
                var res = data.success.toString(); 
                if (res)
                   { document.myform.submit(); }    
            }  // end success 

Google提供验证码的功能。您需要在允许提交表单之前对其进行验证。请参阅他们的文档以获取更多详细信息: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
    });
}