There's also GD::SecurityImage which requires that you have GD installed (obviously), we've used this in a couple of production apps for CAPTCHA purposes. The usability thing is a concern tho with this Text-in-image approach, would be interested in hearing how others attack an audio alternative