amiralishabani / aash-captcha
Self-hosted, audio-capable CAPTCHA for PHP with no external dependencies.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/amiralishabani/aash-captcha
Requires
- php: >=7.4
README
A lightweight, customizable and PHP-native CAPTCHA system without any external dependencies.
Supports image and audio CAPTCHAs. Ideal for Laravel, Symfony, or pure PHP projects.
🔧 Installation
Install the package via Composer:
composer require amiralishabani/aash-captcha
Or manually add it to your
composer.json:
"require": { "amiralishabani/aash-captcha": "^1.0" }
Then run:
composer update
🚀 Quick Start
1. Include the Captcha Generator
require_once 'vendor/autoload.php'; use AashCaptcha\Captcha; $captcha = new Captcha(); $captcha->generate();
2. Show the Captcha
In your HTML:
<form method="POST" action="verify.php"> <img src="captcha/image.php" alt="CAPTCHA" /> <input type="text" name="captcha" placeholder="Enter the code"> <button type="submit">Submit</button> </form>
To generate audio CAPTCHA:
<audio controls> <source src="captcha/audio.php" type="audio/mpeg"> </audio>
✅ Validation
In your form handler (verify.php):
session_start(); if ($_POST['captcha'] === $_SESSION['aash_captcha']) { echo "✔ Correct!"; } else { echo "❌ Incorrect, try again."; }
🎨 Customization
You can override the styles by editing the included assets/style.css.
All CSS classes and IDs are prefixed with aash_ to prevent conflicts.
/* Example customization */ #aash_container { background-color: #f7f7f7; border-radius: 10px; padding: 20px; }
You may also customize font, colors, length of the captcha code, etc., in
config.php.
📁 Folder Structure
aash-captcha/
├── src/
│ └── Captcha.php
├── public/
│ ├── image.php
│ ├── audio.php
│ └── assets/
│ ├── style.css
│ └── fonts/
├── config.php
├── composer.json
├── README.md
🔄 Auto-update in Packagist
You can setup GitHub Actions or Webhook to automatically update the package on Packagist after each push.
Read more here:
👉 https://packagist.org/about#how-to-update-packages
📃 License
🙌 Author
Made with ❤️ by Amirali Shabani
