1. 安装验证码库
在 packagist 网站中找到 mews/captcha 验证码库,使用 composer 载入验证码库
composer require mews/captcha=3.0
2.注册验证码服务
Laravel采用服务容器开发模式,将验证码服务在 config/app.php 注册后才能使用
'providers' =>[
.......(原有代码)
/*
*Package Service Providers
*/
Mews\Captcha\CaptchaServiceProvider::class,
......(原有代码)
]
3.注册验证码服务
为验证码服务设置别名:
'aliases'=>[
.......(原有代码)
'Captcha'=>Mews\Captcha\Facades\Captcha::class,
]
4.添加路由
在路由文件 routes\web.php中添加两个路由:
Route::get('test/captcha','TestController@captcha');
Route::get('test/checkCaptcha','TestController@checkCaptcha');
5.编写TestController中编写captcha()方法。
public function captcha()
{
return view('captcha');
}
6.在视图显示验证码
<body>
<form action='/test/checkCaptcha' method="post">
<input type="text" name="captcha" placeholder="验证码"><br>
<img src="{{captcha_sre()}}"><br>
{{csrf_field}}
<input type="submit" value="提交">
</body>
7 创建验证码配置文件
验证码默认9位,通过修改配置文件更改验证码的位数,创建验证码配置文件命令
php artisan vendor:publish
执行创建命令后会出现提示,输入验证码的服务提供者对应序号,就会自动生成 config\captcha,php文件
8.修改验证码相关配置
config\captcha.php 文件,对验证码的效果进行配置
"default"=>[
'length'=>4, //字符个数
'width'=>120, //图片宽度
'height'=>36, //图片高度
'quality'=>90, //图片质量
'math'=>false, //数学计算
]
9. 后台判断验证码是否正确
在 checkCaptcha()方法中判断验证码的值是否正确
public function checkCaptcha(Request $request)
{
$this->validate($request,[
'captcha'=>'required|captcha'
],[
'captcha.captcha'=>'验证码有误'
]);
return '验证成功';
}
标签:laravel,checkCaptcha,配置文件,框架,Captcha,验证码,captcha,php From: https://www.cnblogs.com/zdcblog/p/16615401.html