Skip to main content

Wraps the recaptcha-client library to provide a drop-in replacement for collective.captcha.

Project description

collective.recaptcha

This package provides an integration of the Recaptcha service into Zope. Recaptcha is a third-party CAPTCHA service provided by Carnegie Mellon University. One of its most interesting features is that the act of users answering CAPTCHAs contributes to efforts to digitize books.

The API is based on collective.captcha and is provided via a “@@captcha” browser view, so these two packages can be swapped for each other relatively simply. Use collective.captcha if you need to not be dependent on an external service; use collective.recaptcha for a slightly better user experience.

Installation and Configuration

Simply make sure that the ZCML for this package is loaded. (You cannot configure this package at the same time as collective.captcha, because the ‘@@captcha’ browser view registration will conflict.)

Before the service will work, you must obtain a public and private key from http://recaptcha.net, and configure them at http://path/to/site/@@recaptcha-settings

Usage

You can insert a Recaptcha using the following TAL:

<tal:block tal:replace="structure context/@@captcha/image_tag"/>

You can verify Recaptcha input by testing the return value of:

context.restrictedTraverse('@@captcha').verify()

Differences between this package’s API and collective.captcha

Because the simplest form of Recaptcha is rendered entirely via a remote call to the service, we couldn’t implement the ICaptchaView interface from collective.captcha exactly as it was defined there. Differences include:

* The image_tag method returns the HTML for the entire CAPTCHA widget,
  including text entry and audio link, not just the tag for the CAPTCHA
  image.

* The audio_url method returns None

* The verify method does not require the input parameter, as a standard
  form input name is used and the value can be found in the request.

* There is an additional method, external, which simply returns True.
  This is a bit of a hack so that a template requiring captcha can
  adjust to the different semantics of the @@captcha view in this
  package as compared to collective.captcha.

Changelog

1.1 (2010-11-18)

  • Use the recaptcha settings from plone.formwidget.recaptcha if it is installed, since it overrides our recaptcha-settings view. [davisagli]

1.0.1 (2009-08-05)

  • Disallowed dependency on broken release of recaptcha-client (1.0.4). [davisagli]

1.0 (2009-05-04)

  • Fixed method signature for verify method so that the vestigial input parameter from collective.captcha’s ICaptchaView is no longer required. [davisagli]

  • Added documentation. [davisagli]

1.0b2 (2009-01-14)

  • Correctly handle comma-delimited values in the HTTP_X_FORWARDED_FOR header. [davisagli]

  • Added support for verifying the captcha multiple times within the same request. [davisagli]

  • Added security declarations on the view methods so they can be called from restricted Python. [davisagli]

1.0b1 (2009-01-14)

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.recaptcha-1.1.zip (14.8 kB view details)

Uploaded Source

File details

Details for the file collective.recaptcha-1.1.zip.

File metadata

File hashes

Hashes for collective.recaptcha-1.1.zip
Algorithm Hash digest
SHA256 5e2864cdcc511464d9d660336924c8758f146e127428907daddf1f125314b63a
MD5 b158a0b2415b48132ff56f5862f9f464
BLAKE2b-256 2166d4078125704a9ad1324cb155f47d9c811ef536b9e057f41f55809496f7eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page