注意:php的fileinfo插件一定要安装,不然会报错
composer require mews/captcha
在config文件夹中找到app.php,在providers数组中追加
Mews\Captcha\CaptchaServiceProvider::class,
在config文件夹中找到app.php,在aliases数组中追加
‘Captcha’ => Mews\Captcha\Facades\Captcha::class,
在命令控制台输入以下命令
php artisan vendor:publish
[数字] Tag: config
然后输入有这个内容的数字就可以完成了
进入config/captcha.php 文件,修改default 数组
'default' => [
'length' => 4, //验证码数量
'width' => 120, //验证码图片的宽
'height' => 36, //验证码图片的高
'quality' => 90, //验证码的显示质量
'math' => false,
'expire' => 60, //到期时间(秒)
'encrypt' => false, //是否开启加密
],
<p class="p-input pos">
<label for="veri-code">输入验证码</label>
<input type="text" id="veri-code" name="captcha" value="{{ old('captcha') }}">
<a href="javascript:;" class="send"><img src="{{captcha_src()}}"onclick="this.src='{{captcha_src()}}'+Math.random()" title="点击图片重新获取验证码"></a>
@if ($errors->has('captcha'))
<span class="help-block">
<strong>{{ $errors->first('captcha') }}</strong>
</span>
@endif
</p>
记得一定要在命名空间下面引入
use Illuminate\Http\Request;
这里是我不想引入zh-CN字体库,所以直接定义了错误文本,如果你想引入字体库,我也在下面写了
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
protected function validateLogin(Request $request){
$this->validate($request, [
$this->username() => 'required',
'password' => 'required',
'captcha' => 'required|captcha',
],[
'captcha.required' => '请填写验证码',
'captcha.captcha' => '验证码错误',
]);
}
到此就可以使用验证码登录验证了!
Laravel 8.x : composer require caouecs/laravel-lang:~7.0
Laravel 7.x : composer require caouecs/laravel-lang:~6.0
Laravel 6.x : composer require caouecs/laravel-lang:~5.0
Laravel 5.8 : composer require caouecs/laravel-lang:~4.0
Laravel 5.1-5.7 : composer require caouecs/laravel-lang:~3.0
Laravel 5 : composer require caouecs/laravel-lang:~2.0
扩展包含大多数语言,语言包位于vendor/caouecs/larvel-lang/src 目录中
根据自己的需要复制语言包到 resources/lang 目录中
'captcha' => ':attribute 不正确。',
'captcha' => '验证码',
protected function validateLogin(Request $request){
$this->validate($request, [
$this->username() => 'required',
'password' => 'required',
'captcha' => 'required|captcha',
],[
'captcha.required' => trans('validation.required'),
'captcha.captcha' => trans('validation.captcha'),
]);
}
通过安装captcha插件来实现验证登录的安全性,通过lang语言包设置中文,修改系统提示语言!