【问题标题】:Google CAPTCHA - able to submit a form without checking the boxGoogle CAPTCHA - 无需选中复选框即可提交表单
【发布时间】:2021-05-28 08:25:27
【问题描述】:

所以我使用官方文档将 Google Captcha 验证脚本插入到我的网络表单中,可以在此处找到:https://developers.google.com/recaptcha/docs/display#render_param

尽管我遵循了文件中的信函,但为什么我仍然能够在不选中验证码框的情况下提交表单?原谅我的傲慢,因为我认为这个 CAPTCHA 服务的整个想法是用户将无法在不选中 CAPTCHA 框的情况下提交表单,以便网站管理员可以清除机器人?

最终结果看起来很棒,我的网站上有 CAPTCHA 框,但现在,你不妨忽略它。

当您仍然可以使用表单而无需选中该框时,我不认为 Google 投入时间编写此脚本的文档有什么意义。他们还不如不写文档,因为结果还是一样:摸不着头脑,一头雾水。

下面是代码,只有我的表单的相关部分。任何人都可以阐明我在这里缺少什么,那么任何可以提供帮助的人都应该考虑为谷歌编写编码帮助文档的职业,因为显然他们目前雇用的个人 - 嗯 - 需要我看到更多?

非常感谢,一切顺利,

<html>
<head>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
</head>
  <body>

    <form action="<PHP File Directory>" enctype="multipart/form-data" method="POST">
      <div class="g-recaptcha" data-sitekey="<key>"></div>
      <br/>
      <input type="submit" value="Submit">
    </form>

  </body>
</html>

【问题讨论】:

    标签: javascript recaptcha captcha


    【解决方案1】:

    我使用这个 jquery 函数在提交之前检查验证码是否被点击。否则,您必须在表单提交后进行验证。您必须将 id 应用于表单。还要在表单中的 recapthca div 上方放置一个 'msg-error' 类的 div。

    // to enable recaptcha click validation before form submission
    var form = $('#contact-form');
    form.submit(function(event){
            event.preventDefault();
    
            var $captcha = $('#g-recaptcha-footer' ),
            response = grecaptcha.getResponse();
    
            console.log(response);
    
            if (response.length === 0) { console.log("captcha not clicked)");
              $( '.msg-error').html( "<div class='alert alert-danger mb-0 pb-0' role='alert'>  reCAPTCHA is mandatory!</div>" );
              if( !$captcha.hasClass( "error" ) ){
                $captcha.addClass( "error" );
                return false;
              }
            } else {
              $( '.msg-error' ).text('');
              $captcha.removeClass( "error" );
    
              form.unbind('submit').submit();
            }  
    });
    

    【讨论】:

      猜你喜欢
      • 2011-07-31
      • 2013-06-03
      • 1970-01-01
      • 2012-05-23
      • 2021-10-29
      • 1970-01-01
      • 2019-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多