Search code examples
pythondjangorecaptchadjango-recaptcha

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


I'm working on a voting application where people can vote as many times as they want, and i would like to have a reCaptcha checkbox in it, but rather than making people have to fill check the images thingy after a few votes, i'd rather have them just have the fill the checkbox every time.

I tried changing the security level to the lowest setting but it keeps showing the test after about two or three votes.

I know it's not a very good idea security wise, but it just doesn't feel good to have people check several images every time rather than just clicking it once which would already to some fine help holding back spambots.

I'm working on a Django application and implemented reCaptcha with Django-reCaptcha 2 .


Solution

  • No where in the documentation for Google's reCAPTCHA 2.0 does it state that you can do this. I would assume, based some some research into how the CAPTCHA works, that it's impossible for a user to set a checkbox only CAPTCHA.

    Google's reCAPTCHA uses a variety of tests, including request tracking, page interaction tracking, scroll tracking and keystroke tracking to attempt to detect if the user on the site is human. You can read more about this here: http://scraping.pro/no-captcha-recaptcha-challenge/

    If Google can't assume with a high enough certainty that the user is human then it will display challenge to attempt to verify this.

    As you stated you can lower the Security Level in the admin settings and this will lower the threshold that Google requires to verify a user as human, but if this is still not met a challenge will be presented.

    In your case where it works a few times and then presents you with a challenge, this is probably because Google has detected your request count as abnormal and thus can't guarantee you reach the minimum threshold to verify you're a human. You therefore receive a challenge.

    So in summary it doesn't seem like you can change this to check box only as Google still needs to be able to obtain enough data to prove the user is human.

    However on the lowest Security Level setting you'd imagine most real users will only receive the checkbox.

    You can also check how many challenges are being generated in the reCAPTCHA admin panel, as documented here:

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