laravel 极验(Geetest) 让验证更安全。
整理的有些仓促,在9月15号之后会更新更加详细更加全面的文档,供给大家参考,学习!
1、简述
在网站开发中使用频率最高的工具之一便是验证码,验证码在此也是多种多样,不过简单的图片验证码已经可以被机器识别,极验验证码提供了一个安全可靠的滑动验证码体系,让网站开发更加安全。
接入极验验证码的过程并没有想象中的那么简单,如果想在Laravel5中使用,可以使用Laravel5 的极验验证码包,Geetest,支持Laravel5.0及以上版本。
地址:https://github.com/Germey/LaravelGeetest
下面介绍一下该工具包的使用。
2、注册极验账号
首先需要到 极验 网站注册账号,然后新建一个应用,获取到 ID 和 KEY,留作备用。
3、安装
在项目地址输入命令
$ composer require germey/geetest
就可以完成该包的安装
或者可以在 composer.json 的 require 中添加
"germey/geetest": "~1.0"
然后执行
composer update同样可以完成该包的安装
4、配置
注册 ServiceProvider,在 config/app.php 的 providers 中添加
Germey\Geetest\GeetestServiceProvider::class
在 aliases 中添加
'Geetest' => Germey\Geetest\Geetest::class,然后执行
php artisan vendor:publish会生成一个配置文件,config/geetest.php 和视图文件views/vendor/geetest
5、使用
首先把刚才拿到的 ID 和 KEY 配置到 .env 文件中,因为这两个算私密内容,配置到 .env 文件中可以保证安全性。在 .env 中写入如下两行
GEETEST_ID=0f1097bef7xxxxxx9afdeced970c63e4 GEETEST_KEY=c070f0628xxxxxxe68e138b55c56fb3b
其中 ID 和 KEY 换成你自己的。
然后需要配置一个极验的后台地址,用于生成一串密钥,通过Ajax方法获取密钥来呈现验证码。
默认的地址是 /auth/geetest,这样只需要在对应的 AuthController 中添加使用一个 Trait 即可。
use Germey\Geetest\CaptchaGeetest; class AuthController extends Controller { use CaptchaGeetest; }
最后,在任意的视图里,我们只需要调用
{!! Geetest::render() !!}
就可以得到验证码了。
之后如果有那里不理解或者觉得我这边文章写的不够好的话 请在下面评论或者私信给我 大家多交流,共同学习!
参考地址:
http://laravelacademy.org/post/5291.html