A Simple Mathcha
March 16th, 2007
If you’ve ever visted the home of my text messaging sites, freetext.biz you may have noticed it has a contact form. Lately, I’ve been getting about 100 messages / day on the contact form. The problem with that though, is that only 1-2 of them are from actual humans. The rest are from spam bots sending me URLs.
I’m not sure why a spam bot would want to send me a URL in my email, but that’s their perogative.
Anyway.. you’ll notice now that I added a simple math captcha to the form. Here’s what it looks like:

Why did I choose a mathcha instead of the standard image? It’s because I think that images are sometimes hard to read, and usually annoy visitors. Don’t believe me? Check out this ticketmaster example:

(note: captcha is an acronym for completely automated public Turing test to tell computers and humans apart… mathcha is a made up word that really means math captcha)
If you want to do something similiar, here’s how you can do it in just about 10 lines of code:
on your form page:
session_start(); // assume this is the top of your file
srand((double)microtime()*1000000);
$num1 = rand(1,10);
$num2 = rand(1,10);
$_SESSION['mathcha'] = $num1 + $num2;
echo "Please Add" . $num1 . " and " . $num2 . ": ";
echo "<input type=text size=2 name=mathcha>";
?>
on your form handler:
session_start(); // assuming this comes first
if ($_SESSION['mathcha'] != $_POST['mathcha'] && trim($_POST['mathcha']) != "") {
echo "hey, you can't add!";
die; // or redirect back
}
// rest of form processing goes here
There ya go. That's a 30 second mathcha. Feel free to use it however you want. I know it's really simple stuff, but let me know if it actually helps anybody.
Entry Filed under: Main




2 Comments
1. Alexander | March 20th, 2007 at 4:27 am
Tsk HG, that’s some horrible (X)HTML you’re spitting out there!
Don’t you know you’re a role model to the kids nowadays?
2. Ryan | March 20th, 2007 at 7:47 am
XHTML? what’s that? hehehe
It’s all about the 4.01 transitional baby!