Today, we had a knowledge sharing session at Eaton. One of our team-mates, Chandraprakash (CP) gave a talk on CAPTCHA.

For those of you who don’t know, CAPTCHA is the image which you see on sign-up forms (pictured below). It helps preventing bots from running scripts and ensures that the form is being submitted by a human and not by some script. Basically, it is used as a security measure for web forms.


Example of CAPTCHA

Interesting thing to note is that everytime you enter a captcha, you are contributing to a cause. Yes, the words entered are used to digitize books! Waste of human time being compensated with some cause 😉

Here’s how you can implement it using PHP:

Step 1: Download the library file for PHP from here.

Step 2: Create your public and private keys. If you have a domain, give your domain name, else just give “localhost” as the domain if you are using it for testing purpose. Click here to create keys.

Step 3: Client side code:

Make an index.php and insert this code:

<form method=”post” action=”verify.php”>
$publickey = “your_public_key”; // you got this from the signup page
echo recaptcha_get_html($publickey);
<input type=”submit” />

Replace your_public_key with the public key for your domain.

Step 4: Server side code:

Make a file called verify.php and add the code below:

$privatekey = "your_private_key";
$resp = recaptcha_check_answer ($privatekey,

if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die (“The reCAPTCHA wasn’t entered correctly. Go back and try it again.” .
“(reCAPTCHA said: ” . $resp->error . “)”);
} else {
echo “Success”;
//your code on success

Again, replace your_private_key with the private key for your domain.

The code is quite self-explanatory I guess. So that’s pretty much of it! Here’s how it will look 🙂

A screenshot of CAPTCHA on my local server

A screenshot of CAPTCHA on my local server


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s