Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Harder, Better, Faster, Stronger... Techniques for an image-based CAPTCHA?

Tags:

There are lots of non-image-based CAPTCHA ideas floating around. But what about the old-fashioned way?

What are the elements of a good image CAPTCHA? What visual elements are hard for computers, but easier for humans? What about mistakes, elements that are easier for computers than they are for humans? What are good techniques for increasing the speed of a CAPTCHA generator?

Here's an example of a CAPCHA I've been working on. It generates the functions for two sine waves, then stretches a text between them. It lays that over a background drawn from a pool of images. Image-based CAPTCHA

How could this be improved? (Specifically, I'm using PHP GD.) Things that come to mind are:

  • Change the color of the text, possibly making it multicolored.
  • Add "scratches" or marks that mildly obscure the text.
  • Add to the distortion so that it's affected by sine waves horizontally as well.

What goes into a superb image CAPTCHA?


Edit: I know that there are some very worthy third-party CAPTCHA resources. I'm looking for attributes that make them good. I'd like to use my own CAPTCHAs, just for the purpose of self-improvement. So, you can talk about reCAPTCHA, but it's not exactly what I'm looking for.

Also, it has been brought up that not only the image, but also the experience matters, so feel free to comment on that.