laravel不在赘述,什么排行第一的php框架,什么最优雅的代码,什么工匠级框架,谁用谁知道。
最近用laravel给主产品写了一个小插件,用到了极验,可有效的防护注册机或恶意用户的骚扰,如图示:
将步骤记录下来备用,少走弯路
一,注册极验
按照网站提示根据步骤进行注册,注册完成后进入后台,添加网站域名,而后生成一个ID和key
二,laravel项目加入
方法一:
项目是用composer统一管理的
安装
1,composer require laraveler/geetest
2,在config/app.php providers 数组里加入geetest\provider\geetestServiceProvider::class
3,执行php artisan vendor:publish
调用
use geetest\Facades\geetest;
return geetest::init($request,function(){Auth::attempt([....])},function(){....});
注意:必须注册路由方法为any
初始化时需要注入$request对象,第二个参数为验证成功后需要做的动作,第三个参数为验证失败需要的动作
方法二:
考虑到package库都在国外,composer命令发出后没有2-5分钟,基本没有反应,实在是捉急,于是又到geetest网站看调用文档,发现调用很简单,就是调用了一个类库,那直接写一个不就OK了,如下:
1,生成极验类:php artisan make:controller GeetestController
2,将代码复制到GeetestController中
geetest文档地址:http://www.geetest.com/install/sections/idx-server-sdk.html#php
下载class.geetestlib.php,将类内部内容复制到创建的控制器类中
3,前台调用,官方演示站中有多种方式,下载Demo后可查看演示,根据需要选择前台调用的代码
客户端SDK地址:http://www.geetest.com/install/sections/idx-client-sdk.html
4,根据需求编写验证逻辑代码
发送请求后,将get或post请求的数据传入控制器中(可先进行数据验证,本例只是演示)
个人推荐第二种方法,逻辑比较清晰