Just wanted to say THANKS! I got everything working a couple nights ago, and ever since then... ZERO spam. After a rough couple weeks of sometimes up to 100 spam bot entries per day in my guest book, I am a very happy camper.

- Danny Engesser

-----------------------

Here's a super quick way to implement a captcha solution for your web site and help the book readers of the world at the same time.

Young Mike Crawford from the AFR Access project headed over to the US last year to make his fortune, however discovering that he had missed the gold rush by some one hundred and fifty eight years he decided to settle for a merely interesting job at Carnegie Mellon in Pittsburgh.

Mike pinged me a few days ago to let me know that they were going live with their first project, reCAPTCHA. This is a really interesting project - basically they are providing a free &quot;captcha&quot; API for people to integrate into their sites. The twist is that they are mixing failed OCR scan data from book digitisation projects into the captcha image, so every time someone enters a captcha response they are actually helping to digitise a book! Considering that an estimated 60 million captcha responses are entered every day there's a potential to digitise about 127 very smudged and fly-spotted Lord of the Rings in the same period.

Some APIs are already available for reCAPTCHA but there wasn't one for ColdFusion, so I've created a simple tag that does the job. To use it you will need to apply for some keys. Here's a simple example of the tag in use:

@param publicKey Public key sent from browser with request for a challenge string. Note that if this is wrong you will not get a ColdFusion error and an error message will appear in place of the reCAPTCHA form controls.

@param action render|check default render. &quot;render&quot; checks the submitted form and renders the reCAPTCHA form field. &quot;check&quot; checks the submitted form but does not render the form field.

@param ssl set true if form on ssl page to use secured version of reCAPTCHA API and avoid browser complaints.

You can check the response without rendering the form field if necessary - there is an example in the comments. If you want to see the tag in action I've integrated it into the comments dialog on this site.