Introducing MotionCAPTCHA: Stop Spam, Draw Shapes
josscrowcroft.com
josscrowcroft.com
I've seen hundreds of these 'alternative' captchas. 'slide to unlock', 'sort images' ect. None yet have proven to be as effective at stopping a simple curl script.
Real captchas will store the value of the image or verification method on the first fetch in a session, and when the form is finally filled out the server will verify that the session value matches the submitted value. Without this component, the alternative captchas are pointless and just an annoyance to your real users.
Spam bots are not built on top of web browsers...
Text captchas suck, but they're the only thing that's ever been shown to be robust over the long term.
the premise being, you had a 3x3 grid of thumbnails of animals, and you'd have to pick out of them, which were kittens.
less invasive captchas are something that i'd really like to see on sites, but despite the alternatives (of which i'm sure there are many) they never seem to take off..
1. Apply transforms to the images. This would require spam bots to perform much harder processing.
2. Use a larger pool of images -- after all, this is the Internet, a communication medium used primarily to exchange pictures of kittens.
Of course the spammers would adapt. But CAPTCHAs are not one-shot solutions. A good CAPTCHA works well enough to defeat most bots, and is updated once most bots start defeating it.
Even it it weren't, and shapes were generated and verified on the server side, computers are extremely good at recognizing simple shapes.
EDIT:
Here, to break it on this page
http://www.josscrowcroft.com/demos/motioncaptcha
simply enter this into the URL box:
javascript:$('input').attr({'disabled':false});