CaptchaBuilder is an open-source PHP library for generating CAPTCHA images using the GD extension.
- CAPTCHA image generation
- Configurable text length and font size
- Session-friendly CAPTCHA validation
- Simple API for refreshing CAPTCHA challenges
- Composer-based installation
Before using CaptchaBuilder, please make sure that the GD extension for PHP is installed and enabled. To enable it, follow these steps:
-
Open your
php.inifile. -
Search for the following line:
;extension=gd -
Remove the semicolon (;) from the beginning of the line to enable the GD extension:
extension=gd -
Save the
php.inifile and restart your web server to apply the changes.
To install the CaptchaBuilder library in your project, use Composer:
composer require muneebstack/captcha-builder-
Create an instance of
CaptchaBuilder\Captcha:use CaptchaBuilder\Captcha; $captcha = new Captcha();
The optional
lengthparameter, passed as the first argument, andfontSize, passed as the second argument, can be specified. By default, thelengthof the captcha text is set to6, andfontSizeto20. -
To retrieve the CAPTCHA text, use the
getCaptchaTextmethod:$text = $captcha->getCaptchaText();
-
To retrieve the CAPTCHA image, use the
getCaptchaImagemethod, which will return the image data:$imageData = $captcha->getCaptchaImage();
-
To refresh the CAPTCHA, use the
refreshCaptchamethod:$captcha->refreshCaptcha();After calling the
refreshCaptchamethod, you can get the new text and image:$newText = $captcha->getCaptchaText(); $newImageData = $captcha->getCaptchaImage();
Here's an example code to store the CAPTCHA text in the session and display a CAPTCHA image:
require 'vendor/autoload.php';
use CaptchaBuilder\Captcha;
$captcha = new Captcha();
$text = $captcha->getCaptchaText();
$imageData = $captcha->getCaptchaImage();
session_start();
$_SESSION['captcha_text'] = $text;
echo "<img src='$imageData' alt='CAPTCHA Image'>";Here's an example code to verify the CAPTCHA:
$userInput = $_POST['captcha_input'];
$captchaText = isset($_SESSION['captcha_text']) ? $_SESSION['captcha_text'] : '';
if ($userInput === $captchaText) {
echo "CAPTCHA verification successful!";
} else {
echo "CAPTCHA verification failed. Please try again.";
}CaptchaBuilder is released under the MIT License.