It was bound to happen sooner or later, spam bots hitting the comment forms over and over! I was getting around 2,000 comment submissions per day from these friendly robots bent on world domination. Time for Homebr√É¬§u to step up its game.
I could reduce it with one of those clunky off the shelf captchas, but lets face it, they aren't without their problems either, especially how difficult they make it for actual humans to use the forms. That's the crux of the problem, making it complex enough that robots can't figure it out, but simple enough that it doesn't interfere with humans. Its about balance. Lets look at some of the options.
Probably one of the more common captchas around. Thats good, because more people are familiar with it, but the words and complexity of the images is getting so bad you'd either have to have a secret decoder ring or actually be a robot in order to pass. No thanks.
The intent behind this one is to have the user prove they are human by drawing shape. While I love the idea, my hand isn't steady enough with the touchpad on my laptop to make it work. Not to mention concerns with being able to do this on mobile.
Another option was the jQuery slider plugin. Which seems to work really well, only requiring the user to drag the slider all the way to the right to unlock the form.
I actually liked this option more than the first two, but its not without concerns of longevity and the ability for robots to still be able to defeat it after enough encounters.
Do Some Math... A Captcha for Humans
I finally settled on this option. I wanted something simple enough for humans to use, but would be obscured enough to keep robots out.
It works by generating two random numbers between 1 and 5 for the human to add. The validation check is obscured enough so that robots can't just look at that. So far, its working well and has stopped the 2,000+ spam comments per day.
Its about balance, making it seamless and easy for humans, but complex enough that robots can't figure it out. Its also an arms race, because SkyNet is out there, learning at a geometric rate. Its only a matter of time before someone builds a better robot, and we'll have to adjust. Until then, consider this another exciting feature offered by Homebr√É¬§u to protect you against the robot apocalypse!