Contents
A simple equation challenge used as a Captcha
Description
This plugin presents an anonymous user with a simple math addition problem on a new ticket or wiki edit page prior to submission. This presents a protection from unwanted bots making posts on your Trac website. Currently there is no customization: it picks two integers in the range of 1 - 10 and asks the user to add them together and submit the result.
Version 2.0
I'm starting to see some particular spambots get through the simple captcha, so I'm releasing version 2.0 that includes a slight modification to the format presented to the user. In addition, this version now correctly works with fcgi and mod_python by saving the Captcha information in the Trac database. To use mod_python as an example: Apache may start many processes where each has its own embedded Python interpreter. The particular Apache process that displayed the form may not be the same one that processes the form request, so there must be a persistent way to store the solution to the Captcha rather than making it easy for spambots by encoding the solution in the web page itself.
I'm also keeping a 30 day record of failed attempts in the same database, so you can get an idea of what sort of spambots are trying to get through your defenses.
For the future, it would be nice if there were multiple types of math problems presented in a way that wouldn't be easy for a bot to recognize.
Bugs/Feature Requests
Existing bugs and feature requests for MathCaptchaPlugin are here.
If you have any issues, create a new ticket.
defect |
5 / 5 |
|
---|---|---|
enhancement |
2 / 2 |
Download
Download the zipped source from here.
Source
You can check out MathCaptchaPlugin from here using Subversion, or browse the source with Trac.
Installation
Install by either copying the MathCaptcha.py file into your /path/to/project/environment/plugins
directory, or use the following from within the source directory:
python setup.py install
Version 2.0 of the plugin creates a new database needed for processing Captchas when run using fcgi or mod_python, so you will have to run the following before you can use the plugin:
trac-admin /path/to/project/environment upgrade
Once installed and the environment is upgraded, the plugin must be enabled by adding a line to the components section in your trac.ini
file:
[components] mathcaptcha.* = enabled
Finally, give anonymous users any of the following permissions:
TICKET_CREATE
TICKET_MODIFY
WIKI_CREATE
WIKI_MODIFY
Anonymous users will then be prompted to solve a math problem before being allowed to submit the ticket or wiki edit, while authenticated users will not see the Captcha.
Recent Changes
- 17091 by rjollos on 2018-04-04 03:32:00
-
TracMathCaptcha 5.0dev: Fix grammar in option doc
Refs #6891.
- 17090 by rjollos on 2018-04-04 02:21:09
-
TracMathCaptcha 5.0dev: Add option
ban_after_failed_attempts
This also fixes two defects that led to the number of
failures being miscounted.
Fixes #6891.
- 17089 by rjollos on 2018-04-04 02:00:21
-
TracMathCaptcha 5.0dev: Change plugin name
This prepares for publishing to pypi.
Remove the old plugin before installing:
$ pip uninstall matchcaptcha
Refs #13399.
(more)
Author/Contributors
Author: robm
Maintainer: Rob McMullen
Contributors: