Catch-a spammer with a CAPTCHA.
Copyright (C) 2013-2014 Jublo IT Solutions <[email protected]>
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Please enable the GD extension in your PHP environment.
- Generate a challenge
require_once 'catcha.php';
$catcha = new Catcha;
$catcha->outputImage();
- Store the Catcha object
$_SESSION['catcha'] = $catcha;
- After the user enters the solution, restore the object
$catcha = $_SESSION['catcha'];
- Check if the entered result was correct
$entered_result = -1;
if (isset($_POST['your_field_name'])) {
$entered_result = intval($_POST['your_field_name']);
}
$catcha_solved = $catcha->isCorrectResult($entered_result);
The canvas size defaults to 100 x 25 pixels. Customize the size:
$catcha->setImageSize($desired_width, $desired_height);
By default, Catcha uses the Averia Light font licensed under the SIL Open Font License Version 1.1 (http://scripts.sil.org/OFL). You may as well use a custom True Type font (*.ttf):
$catcha->setImageFont($path_to_font);
The supported color codes include (upper- and lower case)
- #ffff00
- ffff00
- ff0
$catcha->setImageColorBackground('#ffff00');
$catcha->setImageColorForeground('#ff0000');
$catcha->newChallenge();
The raw image data are in binary JPEG format, quality 80.
$image_data = $catcha->getImage();