aronlabs/captcha
Lightweight, secure CAPTCHA for Laravel 10+ (PHP 8.1+) with text and math challenges, Ajax refresh, and Blade includes. Easy validation via CaptchaRule, plus publishable config, views, and fonts for full customization.
VerifyCaptcha) for global or route-specific enforcement.Captcha::validate($request)).storage/framework/captcha).composer.json visible; risk of PHP/Laravel version mismatches.
storage/framework if not cleaned up.)composer.json post-install).composer require pakdel8463/aron-captcha
php artisan vendor:publish --provider="Aronlabs\Captcha\CaptchaServiceProvider"
/test-captcha).Route::middleware(['captcha.verify'])->group(function () {
Route::post('/login');
});
public function rules() {
return [
'captcha' => 'required|captcha',
];
}
spatie/laravel-recaptcha) or hCaptcha.| Phase | Task | Owner | Dependencies |
|---|---|---|---|
| Discovery | Benchmark against reCAPTCHA (success rate, false positives). | PM/Dev | None |
| Setup | Install, configure, test basic challenges. | DevOps/Dev | Composer, Laravel |
| Validation | A/B test with users (track solve rates, UX feedback). | QA/UX | Analytics (e.g., Laravel Mixpanel) |
| Scaling | Optimize storage/caching (e.g., Redis for challenge keys). | DevOps | Redis/Laravel Cache |
| Monitoring | Log failures (e.g., OCR bypass attempts) and alert on anomalies. | SRE | Laravel Horizon/Sentry |
config/captcha.php) and trace filesystem/API calls.storage/framework/captcha; prune old files via cron.throttle middleware to prevent abuse.| Failure Scenario | Impact | Mitigation Strategy |
|---|---|---|
| OCR/Bot Bypass | False positives, spam | Combine with rate-limiting + IP analysis. |
| Storage Overflow | Disk full, challenges rejected | Set TTL for challenges (e.g., 5 mins). |
| PHP GD/Imagick Missing | Challenges fail to render | Fallback to text-based CAPTCHA or reCAPTCHA. |
| High Traffic | Slow challenge generation | Pre-generate challenges and cache. |
| Upstream Abandonment | No security updates | Fork and maintain or switch to reCAPTCHA. |
Recommendation: Proceed with pilot testing but plan for forking/maintenance due to lack of community adoption. Prioritize OCR resistance and performance tuning early.
How can I help you explore Laravel packages today?