我可以让谷歌reCaptcha 2.0每次只显示复选框

时间:2017-02-03 04:57:55

标签: python django recaptcha django-recaptcha

我在投票应用程序上工作,人们可以根据需要多次投票,我希望在其中有一个reCaptcha复选框,而不是让人们必须填写后检查图像。很少投票,我宁愿让他们每次都填写复选框。

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

我知道这不是一个非常好的安全明智的想法,但让人们每次都检查几张图片而不是仅仅点击一次就不会感觉很好回来的食物。

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

2 个答案:

答案 0 :(得分:3)

在Google的reCAPTCHA 2.0文档中没有说明你可以这样做。我会假设,基于一些关于CAPTCHA如何工作的研究,它是&#39 ;用户不可能只设置一个复选框CAPTCHA。

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

如果Google无法确定该用户是否为人,则会显示挑战以尝试验证此内容。

如您所述,您可以降低管理员设置中的安全级别,这会降低Google将用户验证为人类所需的阈值,但如果仍未达到此要求,则会出现质疑。

在您的情况下,它可以运行几次,然后向您提出挑战,这可能是因为Google检测到您的请求计数异常,因此无法保证您达到验证您的最低阈值&#39 ;是一个人。因此,您会收到挑战。

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

但是,在最低安全级别设置中,您可以想象大多数真实用户只会收到该复选框。

您还可以查看reCAPTCHA admin面板中生成的挑战数量,如下所示:

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

答案 1 :(得分:0)

Index.html

  if(this.id === "1") {
    input.value = 0;
  }
  else if(this.id === "2") {
    input.value += 1;
  }

verify.php

<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>