使用滑动验证码
安装
在项目地址输入命令
1 | $ composer require germey/geetest |
就可以完成该包的安装
或者可以在 composer.json 的 require 中添加
1 | "germey/geetest": "~2.0" |
然后执行
1 | $ composer update |
同样可以完成该包的安装
配置
注册 ServiceProvider,在 config/app.php 的 providers 中添加
PHP
1 | Germey\Geetest\GeetestServiceProvider::class |
在 aliases 中添加
PHP
1 | 'Geetest' => Germey\Geetest\Geetest::class |
然后执行
1 | $ php artisan vendor:publish |
会生成一个配置文件,config/geetest.php 和视图文件views/vendor/geetest,视图文件中你可以自定义配置,比如修改一下验证失败后的alert函数,修改为你想要的提示toast等。
使用
首先把刚才拿到的 ID 和 KEY 配置到 .env 文件中,因为这两个算私密内容,配置到 .env 文件中可以保证安全性。在 .env 中写入如下两行。
1 2 | GEETEST_ID=0f1097bef7xxxxxx9afdeced970c63e4 GEETEST_KEY=c070f0628xxxxxxe68e138b55c56fb3b |
其中 ID 和 KEY 换成你自己的。
然后,在任意的视图里,我们只需要调用
1 | {!! Geetest::render() !!} |
就可以得到验证码了。
比如我们最常用的表单里
1 2 3 4 5 6 | <form action="/" method="post"> <input name="_token" type="hidden" value="{{ csrf_token() }}"> <input type="text" name="name" placeholder="name"> {!! Geetest::render() !!} <input type="submit" value="submit"> </form> |
另外还可以指定验证码的另外两种样式
{!! Geetest::render('embed') !!}
{!! Geetest::render('popup') !!}
服务端验证
public function postValidate(Request $request)
{
$result = $this->validate($request, [
'geetest_challenge' => 'geetest',
], [
'geetest' => config('geetest.server_fail_alert')
]);
if ($request) {
return 'success';
}
}
{{vo.time}} 回复