In the neverending battle against spam comment posts on websites (or just bots in general), CAPTCHA has become one of the favored tools to make things "humans only". There are libraries out there that can help you drop it right into your page, but if you want to really know how it all works, you might check out this new tutorial from Nick Silvestro's blog.
So, as said, I've needed to whip together a user registration system, where the user can simply and easily hop onto a page, fill in a couple of text fields, hit submit and they've got an account, all setup and ready to go. Alot of this was simplified by the database design of the system, but I guess I can cover that in another article.
One of the problems with creating a non-administrated user registration system is verification. I really really don't want bots or anything other than a person that actually wants it registering accounts. It creates unwanted nuisances and erroneous data that I could really live without.
He touches on two methods for preventing these nuisances - varification emails and CAPTCHAs. Obviosuly, he opts to go with the latter, and, before even starting, outlines his requirements. He leads you along, step by step, through code and explainations to help create a small CAPTCHA image with the help of the GD library. In the end, you'll have an image with plently of background noise to fool bots, but clear enough for a human to read. The full code for the script is posted at the end.