php CAPTCHA library

I just came across this awesome CAPTCHA library in PHP. It generates and validates CAPTCHAs internally to your website, allowing you to secure your input and contact forms etc from bots and crawlers.

You can download it here, or visit the home site here.

A CAPTCHA (Wikipedia article) is used to secure input through forms from spam via web-bots submitting. They provide a distorted image which is difficult for visual software to interpret, but easy to the human eye and mind. This library also provides for you to use an audio CAPTCHA for your visitors. The name CAPTCHA is derived as an acronym for “Completely Automated Public Turing test to tell Computers and Humans Apart”.

How to use the library:

Step 1:

Download the zip file here and unzip php-captcha.inc.php into your site directory.

Step 2:

Save the below as a file called visual-captcha.php in the same directory

<?php
require('php-captcha.inc.php');
$aFonts = array('fonts/VeraBd.ttf', 'fonts/VeraIt.ttf', 'fonts/Vera.ttf');
$oVisualCaptcha = new PhpCaptcha($aFonts, 200, 60);
$oVisualCaptcha->UseColour(true);
$oVisualCaptcha->Create();
?>
Step 3:

Next save this as index.php, again in the same directory

<html>
<head>
<title>Visual CAPTCHA demo</title>
</head>
<body>

<?php
if(isset($_POST['user_code'])) {
    require('php-captcha.inc.php');
    if (PhpCaptcha::Validate($_POST['user_code'])) {
        echo 'Valid code entered';
    } else {
        echo 'Invalid code entered';
    }
}
?> 

<p><img src="visual-captcha.php" width="200" height="60" 
alt="Visual CAPTCHA" /></p>
<form method="post" action="">
<input type="text" name="user_code">
<input type="submit">
</form> 

</body>
</html>
Step 4:

Navigate to index.php, and voila!!

This is a very rudimentary form for demonstration purposes, however it allows you to see the CAPTCHA in action.

About Cameron
I'm a final year Computer Science/Information Systems major. Already finished my BA in Politics/Philosophy. I do web and software freelance on the side, while I finish studying. Hoping to be self-employed by the end of my degree, otherwise off into the real-world I go....

Leave a comment