Home GnuPG

Implement new reCAPTCHA interface
ab923e0a752bUnpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

Implement new reCAPTCHA interface

Summary:
Fixes T12195. For the past few years, Recaptcha (now part of Google) has supported
a new, "no captcha" one-click user interface. This new UI is stable, doesn't
require any typing or reading words, and can even work without JavaScript (if
the administrator enables it on the Recaptcha side).

Furthermore, the new Recaptcha has a completely trivial API that can be dealt
with in a few lines of code. Thus, the external recaptcha php library is now
gone.

This API is a complete replacement for the old one, and does not require any
upgrade path for users or Phabricator administrators - public and secret keys
for the "new" Recaptcha UI are the exact same as the "classic" Recaptcha. Any
old Recaptcha keys for a domain will continue to work.

Note that Google is currently testing Yet Another new Captcha API, called
"Invisible reCAPTCHA", that will not require user interaction at all. In fact,
the user will not even be aware there is even a captcha form, as far as I
understand. However, this new API is 1) in beta, 2) requires new Recaptcha keys
(so it cannot be a drop-in replacement), and 3) requires more drastic API
changes, as form submission buttons must instead invoke JavaScript code, rather
than a token being passed along with the form submission. This would require far
more extensive changes to the controllers. Maybe when it's several years old, it
can be considered.

Test Plan:
Created a brand-new Phabricator installation, saw the new Captcha UI
on administrator sign up. Logged out, made 5 invalid login attempts, and saw the
new Captcha UI. Reworked the conditional to invert the condition, etc to test
and make sure the API responded properly.

Reviewers: epriestley, #blessed_reviewers, chad

Reviewed By: epriestley, #blessed_reviewers

Subscribers: avivey, Korvin

Maniphest Tasks: T12195

Differential Revision: https://secure.phabricator.com/D17304

  • Signed-off-by: Austin Seipp <aseipp@pobox.com>

Details

Provenance
Austin Seipp <aseipp@pobox.com>Authored on Feb 3 2017, 9:06 PM
thoughtpolice <autocommitter@example.com>Committed on Feb 3 2017, 9:06 PM
Parents
rPHAB42743810e914: When a viewer can't see some of a dashboard's panels, only hide those panels
Branches
Unknown
Tags
Unknown

Event Timeline

thoughtpolice <autocommitter@example.com> committed rPHABab923e0a752b: Implement new reCAPTCHA interface (authored by Austin Seipp <aseipp@pobox.com>).Feb 3 2017, 9:06 PM