A simple Laravel 4 service provider for including the Captcha for Laravel 4.
The Captcha Service Provider can be installed via Composer by requiring the
mews/captcha package and setting the minimum-stability to dev (required for Laravel 4) in your
The improvements of mauris's fork over mewebstudio are listed on the pull request.
In order to use mauris's fork, the repository meeds to be added into the composer.json in the following manner:
Update your packages with composer update or install with composer install.
In Windows, you'll need to include the GD2 DLL php_gd2.dll as an extension in php.ini.
To use the Captcha Service Provider, you must register the provider when bootstrapping your Laravel application. There are
essentially two ways to do this.
Find the providers key in app/config/app.php and register the Captcha Service Provider.
'providers' => array(
Find the aliases key in app/config/app.php.
'aliases' => array(
'Captcha' => 'Mews\Captcha\Facades\Captcha',
To use your own settings, publish config.
$ php artisan config:publish mews/captcha
// [your site path]/app/routes.php
if (Request::getMethod() == 'POST')
$rules = array('captcha' => array('required', 'captcha'));
$validator = Validator::make(Input::all(), $rules);
echo '<p style="color: #ff0000;">Incorrect!</p>';
echo '<p style="color: #00ff30;">Matched :)</p>';
$content = Form::open(array(URL::to(Request::segment(1))));
$content .= '<p>' . HTML::image(Captcha::img(), 'Captcha image') . '</p>';
$content .= '<p>' . Form::text('captcha') . '</p>';
$content .= '<p>' . Form::submit('Check') . '</p>';
$content .= '<p>' . Form::close() . '</p>';