I have been recently asked how to create one of these web form verifications things (particularly, featuring CAPTCHA images) which will confirm that a real human is submitting your form, rather than a bot sending you ads for Viagra and other happy pills. I can tell you firsthand that some sort of verification is necessary, as I recently posted a form without one and indeed, my inbox runneth over.
There are a few ways to create one of these verifications. The most common way is to install a PHP script on your server which creates a CAPTCHA image. Google has released such a script under a GNU General Public License, which you can download here. Another way is to use a third party service such as ReCAPTCHA, which is a little simpler to implement. ReCAPTCHA also makes a cool Wordpress plugin which protects your comment form. It also has the ability to hide your email address until a CAPTCHA image is solved, which may be an alternative to using a web form in some cases. (As an aside, it is really interesting to note that every time someone solves a ReCAPTCHA, it is helping a computer somewhere over at Carnegie Mellon University learn to digitize books better… How space age is that?)
However, even this can be complicated for those who are not technically inclined or for those of us who are technically inclined but too lazy to bother. Some of us would prefer not to rely on a third party solution if possible. Another group are those humans who hate those damn things because they are often incomprehensible, cause eye strain, or in some strange happenstance of the Universe, seem to curse at you (see this post and this post).
As an alternative, I have seen a few web forms using a simple mathematical problem, which presumably only a human can calculate. Usually it is something like “1+1 = ?” and the user has to input the proper value in order to send the form. I like to take this a step further and make it a word problem, preferably related to the content of the site, if possible. If it is slightly amusing and causes a little head-scratching, even better. For example, take a look at my contact page. The disadvantage is that word problems could be confusing for those who don’t speak English well (or those with a serious math disability) so I have made my form so that it will accept any value as long as something is entered. If I wanted to take it a step further, I could filter my email so that only emails with the correct value get through, or force the right value to be entered on the form in the first place. Spammers may eventually figure this out, so I may have to change the problems occasionally and force the right value in the future. But I am banking on my estimation that most spammers are too lazy to bother, when there are so many juicy unprotected forms out there for the pickings.
