CAPTCHA: Ask a smart question

KarmaDude Jan 17, 2007

A few days back, after reading Jon Jensen’s attempt at thwarting comment spam by randomly changing the URL of the comment form, I decided to add some level of barrier against comment spam on counterjumper, via an image CAPTCHA.

According to WikipediA, a CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) is a type of challenge-response test to detect if a user is a computer or not. While trying to add one of those fancy image CAPTCHA’s to this blog, I thought, “Wouldn’t it be smarter to ask a smart question instead?�

As a first step, instead of the image CAPTCHA, I have added a smart question to the comment and suggest-a-link forms. Some of the advantages of this approach are:

  • Simple to implement, better accessibility
  • Better usability (don’t you hate trying to figure out those stupid image CAPTCHA’s?)
  • It can be made to be fun for the user
  • It’s more challenging for the machine to solve
  • It could be educational!

As of now, the “Ask a Smart Question” CAPTCHA is in a test phase to see how much comment spam it will block, and how long it will take spammers to catch on. If the results are promising, I am thinking of extending the approach by adding a pool of smart questions, and a random approach to selecting the questions on the form in order to throw spammers off, especially the ones that find ways to work around this kind of a CAPTCHA.

Update: Counterjumper has been comment spam free since the smart question CAPTCHA was added to the forms. So far so good.
Update: Challenge plugin for WordPress provides the ask a question CAPTCHA capabilities for your WordPress blog. The questions can either be user-defined, a generated math question or any PHP expression. The plugin also has an admin panel to customize everything. However, the spam comment gets into your database before the plugin deletes it.