我可以让 google reCaptcha 2.0 每次只显示复选框吗

Can i make google reCaptcha 2.0 only show the checkbox every time

我正在开发一个投票应用程序,人们可以根据需要多次投票,我希望其中有一个 reCaptcha 复选框,而不是让人们必须在几票,我宁愿他们每次都只填写复选框。

我尝试将安全级别更改为最低设置,但它在大约两三票后仍然显示测试。

我知道这在安全方面不是一个好主意,但让人们每次检查多张图片而不是只点击一次就感觉不太好,这已经可以很好地帮助阻止垃圾邮件机器人了。

我正在开发 Django 应用程序并使用 Django-reCaptcha 2 实现了 reCaptcha。

Index.html

<html>
      <head>
        <title>Google recapcha demo - Codeforgeek</title>
        <script src='https://www.google.com/recaptcha/api.js'></script>
      </head>
      <body>
        <h1>Google reCAPTHA Demo</h1>
        <form id="comment_form" action="form.php" method="post">
          <input type="email" placeholder="Type your email" size="40"><br><br>
          <textarea name="comment" rows="8" cols="39"></textarea><br><br>
          <input type="submit" name="submit" value="Post comment"><br><br>
          <div class="g-recaptcha" data-sitekey="=== Your site key ==="></div>
        </form>
      </body>
    </html>

verify.php

<?php

        $email;$comment;$captcha;
        if(isset($_POST['email']))
          $email=$_POST['email'];
        if(isset($_POST['comment']))
          $comment=$_POST['comment'];
        if(isset($_POST['g-recaptcha-response']))
          $captcha=$_POST['g-recaptcha-response'];

        if(!$captcha){
          echo '<h2>Please check the the captcha form.</h2>';
          exit;
        }
        $response=json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=YOUR SECRET KEY&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']), true);
        if($response['success'] == false)
        {
          echo '<h2>You are spammer ! Get the @$%K out</h2>';
        }
        else
        {
          echo '<h2>Thanks for posting comment.</h2>';
        }
?>

Google 的 reCAPTCHA 2.0 的文档中没有任何地方说明您可以执行此操作。 我假设,基于对如何验证码有效,用户不可能只设置验证码复选框。

Google 的 reCAPTCHA 使用各种测试,包括请求跟踪、页面交互跟踪、滚动跟踪和击键跟踪,以尝试检测网站上的用户是否为人类。您可以在此处阅读更多相关信息: http://scraping.pro/no-captcha-recaptcha-challenge/

如果Google不能足够确定地假设用户是人类,那么它会显示质询以尝试验证这一点。

正如您所说,您可以降低管理员设置中的安全级别,这将降低 Google 验证用户是否为人类所需的阈值,但如果仍未满足要求,则会提出挑战.

在你的情况下,它工作了几次,然后给你带来了挑战,这可能是因为 Google 检测到你的请求计数异常,因此不能保证你达到最低阈值验证你是一个人。因此,您收到了一个挑战。

所以总而言之,您似乎无法将此更改为复选框,因为 Google 仍然需要能够获得足够的数据来证明用户是人类。

然而,在您想象的最低安全级别设置中,大多数真实用户只会收到复选框。

您还可以在 reCAPTCHA admin 面板中检查生成了多少挑战,如此处记录:

https://developers.google.com/recaptcha/docs/faq