geekk / multi-captcha-laravel
geekk/multi-captcha integration for laravel
1.4.0
2026-03-04 07:25 UTC
Requires
- php: >=7.2
- ext-json: *
- geekk/multi-captcha: 1.4.*
- illuminate/contracts: ^6.0|^7.0|^8.0|^9.0
- illuminate/support: ^6.0|^7.0|^8.0|^9.0
README
Laravel's integration for package geekk/multi-captcha
Installation
Install package:
composer require geekk/multi-captcha-laravel
Create configuration file:
php artisan vendor:publish --provider="Geekk\MultiCaptcha\Laravel\CaptchaServiceProvider" --tag="config"
Fill driver's specific setting in it:
'recaptcha2' => [ 'driver' => 'recaptcha2', 'site_key' => 'your site key for reCaptcha v2', 'secret_key' => 'your secret key for reCaptcha v2' ], 'hcaptcha' => [ 'driver' => 'hcaptcha', 'site_key' => 'your site key for hCaptcha', 'secret_key' => 'your secret key for hCaptcha' ], 'kcaptcha' => [ 'driver' => 'kcaptcha', 'show_credits' => false ], 'gregwar' => [ 'driver' => 'gregwar', // optional: width, height, length, quality, allowed_symbols ], 'turnstile' => [ 'driver' => 'turnstile', 'site_key' => 'your site key for Cloudflare Turnstile', 'secret_key' => 'your secret key for Cloudflare Turnstile' ],
Keys for Turnstile are obtained from the Cloudflare Dashboard → Turnstile.
Using
Get CaptchaManager from Laravel's dependency container:
use Geekk\MultiCaptcha\Laravel\CaptchaManager; $captchaManager = app(CaptchaManager::class) $captcha = $captchaManager->getCaptcha(); // Render captcha in template echo $captcha->render(); // Verify user's response $result = $captcha->verify($captchaManager->getRequest($request));
Customising captcha's view
Use css for a customizing.
For captcha's templates generated on frontend side you can get data from method CaptchaInterface::getViewData().