views:

295

answers:

4

Hi there,

I currently ran into the issue that I do not have the money to buy/rent any professional captchaing service. So I tried to look around for OS captcha generators, and captcha designs.

I also had a brief brainstorm about my own and simple captcha design.

Do you have any preferences, or can give me a good advice handling captchas in PHP without having huge perfomance leeks?

(My attempt to design a simple captcha: .pdf)

EDIT: Thanks to all of you, I am sorry for only giving one "right-answer", but +1 for every good answer ;)

+4  A: 

I actually would suggest that rather than rolling your own you use reCAPTCHA as it is free and of very good quality (used by this site, Facebook, Craigslist etc).

It also meets your requirements in that it isn't resource intensive, as all the image generation and distortion is done on the reCAPTCHA server.

PHP examples can be found here

Yacoby
+1 I use reCAPTCHA on my blog and don't ever get any spam. Of course, it doesn't get rid of the trolls either :P
Robert Greiner
+1  A: 

Leaving aside the problem of CAPTCHAs being a horrible barrier for users… ReCaptcha should solve the budgetary issues without making you reinvent the wheel.

David Dorward
+1  A: 

First and foremost thing you must consider is that you captcha is not easily breakable. There are some good old captchas already breaked/decoded using javascript. For further info please visit these pages:

http://ejohn.org/blog/ocr-and-neural-nets-in-javascript/
http://blog.makezine.com/archive/2009/01/javascript%5Fcaptcha%5Fdecoder.html

Sarfraz
+1  A: 

If you want to design your own captcha, I highly recommend you take a look at this tutorial. It goes through a basic captcha design, allowing you to alter the design of the captcha as you wish, using various PHP image modification functions.

You could alter the code to use random fonts, make each character a different size, skew the image, etc. The tutorial is to show you how a code is created, how it's used with a session, and how to actually use the image in an input form.

Breakthrough
+answered, Because it actually fits the most to my question.
daemonfire300
Once you have a basic captcha design loaded and working, skewing the image so it can't be recognized by various OCR techniques should be your top priority... Good thing there's an entire community of PHP programmers here in-case you run into any problems trying to use any of the various PHP functions. ;) Good luck with your design, let us know how it turns out!
Breakthrough