Human readable captcha for z3cform
Project description
Introduction
collective.z3cform.norobots provides a “human” captcha widget based on a list of questions/answers.
This captcha can be used as a plone.app.discussiom captcha plugin.
The widget is based on z3c.form.TextWidget.
Requirements
tested with Plone 4.0 as a plugin for plone.app.discussion, should work with Plone 3
plone.app.z3cform
Installation
Just a simple easy_install collective.z3cform.norobots is enough.
Alternatively, buildout users can install collective.z3cform.norobots as part of a specific project’s buildout, by having a buildout configuration such as:
[buildout] ... eggs = collective.z3cform.norobots ... [instance] ... zcml = collective.z3cform.norobots
In portal_setup, apply the profile collective.z3cform.norobots:default.
Add a new question
In the Plone Property Sheet “norobots_properties” (portal_properties/norobots_properties), add a new property:
Name: The question id (ex: "question4") Value: your_question::the_answer (ex: "What is 10 + 12 ?::22") Type: string
Usage
You can use this widget setting the “widgetFactory” property of a form field:
from zope import interface, schema from z3c.form import interfaces, form, field, button, validator from plone.app.z3cform.layout import wrap_form from collective.z3cform.norobots.i18n import MessageFactory as _ from collective.z3cform.norobots.widget import NorobotsFieldWidget from collective.z3cform.norobots.validator import NorobotsValidator class INorobotsForm(interface.Interface): norobots = schema.TextLine(title=_(u'Are you a human ?'), description=_(u'In order to avoid spam, please answer the question below.'), required=True) class NorobotsForm(form.Form): fields = field.Fields(INorobotsForm) fields['norobots'].widgetFactory = NorobotsFieldWidget # wrap the form with plone.app.z3cform's Form wrapper NorobotsFormView = wrap_form(NorobotsForm) # Register Norobots validator for the correponding field in the IContactInfo interface validator.WidgetValidatorDiscriminators(NorobotsValidator, field=INorobotsForm['norobots'])
for more information see contact_info.py in the plone_forms directory in the package.
Credits
Changelog
1.1 - 2010-09-15
Support for using as a plone.app.discussiom captcha plugin (Plone 4) [Petri Savolainen]
Finnish translations [Petri Savolainen]
1.0
Initial release [Sylvain Boureliou]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for collective.z3cform.norobots-1.1.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d6fdfbb89bb65bce7da555ee5ee4f78c5b5b5023d858382f715cba39249a5c9 |
|
MD5 | 25597fe13a6cb05f8bc2f8cbba08003e |
|
BLAKE2b-256 | 27d9a36b0c4a525b106c1b43ad2e4ce76baa88166449631cfbb77ced85338ee8 |