| Package Data | |
|---|---|
| Maintainer Username: | mewebstudio | 
| Maintainer Contact: | me@mewebstudio.com (Muharrem ERİN) | 
| Package Create Date: | 2013-03-27 | 
| Package Last Update: | 2025-10-11 | 
| Home Page: | |
| Language: | PHP | 
| License: | MIT | 
| Last Refreshed: | 2025-10-26 03:05:50 | 
| Package Statistics | |
|---|---|
| Total Downloads: | 4,938,276 | 
| Monthly Downloads: | 97,472 | 
| Daily Downloads: | 1,063 | 
| Total Stars: | 2,549 | 
| Total Watchers: | 57 | 
| Total Forks: | 468 | 
| Total Open Issues: | 133 | 
A simple Laravel 5 service provider for including the Captcha for Laravel 5.
for Laravel 4 Captcha for Laravel 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 5) in your
project's composer.json.
{
    "require": {
        "laravel/framework": "5.0.*",
        "mews/captcha": "~2.0"
    },
    "minimum-stability": "dev"
}
or
Require this package with composer:
composer require mews/captcha
Update your packages with composer update or install with composer install.
In Windows, you'll need to include the GD2 DLL php_gd2.dll in php.ini. And you also need include php_fileinfo.dll and php_mbstring.dll to fit the requirements of mews/captcha's dependencies.
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 config/app.php and register the Captcha Service Provider.
    'providers' => [
        // ...
        'Mews\Captcha\CaptchaServiceProvider',
    ]
for Laravel 5.1+
    'providers' => [
        // ...
        Mews\Captcha\CaptchaServiceProvider::class,
    ]
Find the aliases key in config/app.php.
    'aliases' => [
        // ...
        'Captcha' => 'Mews\Captcha\Facades\Captcha',
    ]
for Laravel 5.1+
    'aliases' => [
        // ...
        'Captcha' => Mews\Captcha\Facades\Captcha::class,
    ]
To use your own settings, publish config.
$ php artisan vendor:publish
config/captcha.php
return [
    'default'   => [
        'length'    => 5,
        'width'     => 120,
        'height'    => 36,
        'quality'   => 90,
        'math'      => true, //Enable Math Captcha
    ],
    // ...
];
    // [your site path]/Http/routes.php
    Route::any('captcha-test', function() {
        if (request()->getMethod() == 'POST') {
            $rules = ['captcha' => 'required|captcha'];
            $validator = validator()->make(request()->all(), $rules);
            if ($validator->fails()) {
                echo '<p style="color: #ff0000;">Incorrect!</p>';
            } else {
                echo '<p style="color: #00ff30;">Matched :)</p>';
            }
        }
    
        $form = '<form method="post" action="captcha-test">';
        $form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">';
        $form .= '<p>' . captcha_img() . '</p>';
        $form .= '<p><input type="text" name="captcha"></p>';
        $form .= '<p><button type="submit" name="check">Check</button></p>';
        $form .= '</form>';
        return $form;
    });
captcha();
or
Captcha::create();
captcha_src();
or
Captcha::src();
captcha_img();
or
Captcha::img();
captcha_img('flat');
Captcha::img('inverse');
etc.
Based on Intervention Image
^_^