So we got the new and improved version of our website up, announcing all our new initiatives with lot of new content and even a bright new Contact us form. The site includes Geoff’s CacheFu with all its recent enhancements (did you know 1.0 is in beta now) making it fast and responsive, all the flash animations we did looks great (OK, kinda great…), the content looks sharp and concise, and I should be feeling relieved and at peace, but instead I am tossing and turnin with this nagging feeling that wont let me go to sleep…
Its the darn Contact us form. See, we have been doing a whole lot of of automated web testing using frameworks like mechanize, twill and zope.testbrowser and I know how easy it would be for some kook to write a script that will submit those Contact forms dozens to the minute creating a whole bunch of spam and bringing our server to its knees. In fact I met a couple of those kooks at the last beer party I went to.
If only I could add one of those squiggly text images and a word verification text box to our Plone site and thus ensure that only a real live human being (or an extremely well trained chimp) would be filling out our Plone Training request forms…
So I dig around. As it turns out this mechanism is called a Captcha. Short for “Completely Automated Public Turing test to tell Computers and Humans Apart”. Invented by Carnegie Mellon University after they decided to do something useful for furthering Computer Science. And there is a whole site http://captchas.net that provides the service straight from their site. For free! All we need is to do a little bit of tailoring of our forms. Darn easy to make it work. What’s even better is that it looks like a slated feature for Plone 3.0. Of course only if the Accessibility freaks (you know who you are 😉 ) let it get there!
You know the rest of the story. I throw together the PloneCaptcha product. And with one stroke of metal you can have your own squiggly text image on your pages, thus ensuring that only a really well trained chimp could sign up for that Plone training of yours.
PS; The stroke of metal you need:
< div metal:use-macro=”here/captcha/macros/edit” />