Laravel框架加入验证码库
前言
作为一个后端攻城狮,处理逻辑少不了验证码的,之前用ThinkPHP框架做开发的时候,TP框架已经集成用验证码,所以之前不用考虑这么多第三方集成的验证码。
Laravel验证码安装
使用composer安装
{ "require": { "laravel/framework": "5.0.*", "mews/captcha": "~2.0" }, "minimum-stability": "dev" }
或者
composer require mews/captcha
修改
config/app
注册验证码的服务//在providers添加如下代码 'providers' => [ // ... Mews\Captcha\CaptchaServiceProvider::class, ] //在aliases添加如下代码 'aliases' => [ // ... 'Captcha' => Mews\Captcha\Facades\Captcha::class, ]
添加自定义配置
执行下面命令在config
生成captcha.php
自定义配置文件php artisan vendor:publish
配置文件可以自行修改
return [ 'characters' => '2346789abcdefghjmnpqrtuxyzABCDEFGHJMNPQRTUXYZ', 'default' => [ 'length' => 5, 'width' => 120, 'height' => 36, 'quality' => 90, ], 'flat' => [ 'length' => 6, 'width' => 160, 'height' => 46, 'quality' => 90, 'lines' => 6, 'bgImage' => false, 'bgColor' => '#ecf2f4', 'fontColors'=> ['#2c3e50', '#c0392b', '#16a085', '#c0392b', '#8e44ad', '#303f9f', '#f57c00', '#795548'], 'contrast' => -5, ], 'mini' => [ 'length' => 3, 'width' => 60, 'height' => 32, ], 'inverse' => [ 'length' => 5, 'width' => 120, 'height' => 36, 'quality' => 90, 'sensitive' => true, 'angle' => 12, 'sharpen' => 10, 'blur' => 2, 'invert' => true, 'contrast' => -5, ] ];
验证码的长度、颜色等等都可以自行修改。
使用
可以直接在模板里调用,例如:
<img src="{{ captcha_src() }}" onClick="this.src=this.src+'?'+Math.random()" >
这样就可以实现验证码显示以及点击验证码图片会换一张。
当然你还可以用其它样式,调用方法也很简单;{{ captcha_src('inverse') }} {{ captcha_src('flat') }}
后台验证码的验证操作:
直接可以调用Captcha_check()
方法。
提醒:如果你使用的是Laravel 5.5版本请使用laravel-captcha这个验证码,这个是基于mews/captcha的修改(原来的那个作者没有更新,导致在Laravel 5.5版本中出现错误)。