BrainBuster

* Homepage: http://opensource.thinkrelevance.com/wiki/BrainBuster

* Mailing List: http://groups.google.com/group/brainbuster-discuss

* Git Repository: git://github.com/rsanheim/brain_buster.git

* For full details and extended instructions, see the readme: http://github.com/rsanheim/brain_buster/tree/master/README

Notes

The latest version removes all deprecated code from 0.7 and below, and does serious clean up all over the place.

You now have to handle captcha failure on your own, since Rails 2.0 requires a render or redirect to halt a filter chain. This makes sense anyways, because if you really want a decent user experience, you should be placing the user's half-saved model in the flash (or an ivar, or a cookie, or whatever) and then pulling it back into the form if the captcha fails.

See the CHANGELOG for more details.

Intro

BrainBuster is a logic captcha for Rails. A logic captcha attempts to detect automated responses (i.e., spambots) by asking a simple question such as a word puzzle or math question. Logic captchas are often easier for humans to answer than image-based captchas, but can exclude foreign users or users with cognitive disabilities. Another possible issue is that answers could be scripted fairly easily by a determined spammer, but I'm guessing in most cases spammers will move on to easier targets. Generating thousands of questions may also deter scripting.

Some example question and answers are:

"What is fifteen minus five?" => "10"

"Which one of these doesn't fit? 'blue, red, yellow, flower'" => 'flower'

For more on logic captchas and alternate approaches, please see http://www.w3.org/TR/turingtest/#logic