creatint / captcha
适用于Laravel5.8+的验证码
1.2
2019-05-06 16:24 UTC
Requires
- php: ^7.1.3
- intervention/image: ^2.4
Requires (Dev)
- illuminate/config: ^5.8
- illuminate/filesystem: ^5.8
- illuminate/session: ^5.8
- illuminate/support: ^5.8
This package is auto-updated.
Last update: 2024-09-07 04:51:07 UTC
README
灵感来源于mews/captcha
预览
安装
可以通过在项目的 composer.json
中添加 mews/captcha
包并设置 minimum-stability
为 dev
(对于Laravel 5是必需的)的方式,使用Composer安装Captcha Service Provider。
{ "require": { "laravel/framework": "5.0.*", "creatint/captcha": "dev" }, "minimum-stability": "dev" }
或者
使用Composer安装此包
composer require creatint/captcha
使用composer update
更新包或使用composer install
安装。
在Windows中,您需要在php.ini中包含GD2 DLL php_gd2.dll
。您还需要包含 php_fileinfo.dll
和 php_mbstring.dll
以满足 mews/captcha
依赖项的要求。
用法
要使用Captcha Service Provider,您必须在启动Laravel应用程序时注册该提供者。主要有两种方法可以实现。
在 config/app.php
中找到 providers
键并注册Captcha Service Provider。
'providers' => [ // ... 'Creatint\Captcha\CaptchaServiceProvider', ]
对于Laravel 5.1+
'providers' => [ // ... Creatint\Captcha\CaptchaServiceProvider::class, ]
在 config/app.php
中找到 aliases
键。
'aliases' => [ // ... 'Captcha' => 'Creatint\Captcha\Facades\Captcha', ]
对于Laravel 5.1+
'aliases' => [ // ... 'Captcha' => Creatint\Captcha\Facades\Captcha::class, ]
配置
要使用自己的设置,请发布配置。
$ 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();
或者
Captcha::create();
返回URL
captcha_src();
或者
Captcha::src();
返回HTML
captcha_img();
或者
Captcha::img();
使用不同的配置
captcha_img('flat'); Captcha::img('inverse');
等等。