zerosdev / laravel-captcha
Laravel 框架的验证码生成器
dev-master
2020-01-25 10:18 UTC
Requires
- php: >=5.6
- laravel/framework: >=5.2
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-09-25 20:22:06 UTC
README
Laravel 验证码生成器
要求
- PHP 5.6+
- Laravel 框架 5.2+
- GD 库已启用
安装
- 运行
composer require zerosdev/laravel-captcha:dev-master
- 将以下代码添加到您的 config/app.php 文件中的 providers 数组中
ZerosDev\LaravelCaptcha\ServiceProvider::class,
- 将以下代码添加到您的 config/app.php 文件中的 aliases 数组中
'Captcha' => ZerosDev\LaravelCaptcha\Facade::class,
- 运行
composer dump-autoload
- 运行
php artisan vendor:publish --provider="ZerosDev\LaravelCaptcha\ServiceProvider"
配置
打开您的 config/captcha.php 文件并调整设置。您可以选择使用以下可用的方法动态调整一些验证码设置
chars(String)
设置将用作验证码文本的字符
size(Integer width, Integer height)
设置验证码图像的宽度和高度(像素(px))
length(Integer)
设置验证码字符长度
生成示例
// Import from root class (Captcha Facade)
use Captcha;
// generate captcha
$captcha = Captcha::chars('123456789ABCDEFGHIJKLMNPQRSTUVWXYZ')->length(4)->size(120, 40)->generate();
// get captcha id
$id = $captcha->id();
// return random generation id
// print html hidden form field, used in blade template
{{ $captcha->form_field() }}
// return: <input type="hidden" name="captcha_id" value="XXXXXXXXXXXXXX" id="captcha_id">
// get base64 image
$image = $captcha->image();
// return data:image/png; base64,XXXXXXXXXXXXXX
// print html image, used in blade template
{{ $captcha->html_image(['onclick' => 'jsFunction()', 'style' => 'border:1px solid #ddd']) }}
// return: <img src="data:image/png; base64,XXXXXXXXXXXXXX" onclick="jsFunction()" style="border:1px solid #ddd" />
验证
// Import from root class (Captcha Facade)
use Captcha;
// validate captcha
// $captchaId = Captcha generation id, $captcha->id()
// $captchaText = Captcha input from client request
if( Captcha::validate($captchaId, $captchaText) )
{
// Valid
}
else
{
// Invalid
}
建议
建议避免在验证码中使用“0”和“O”字符,以避免歧义