laravel的项目加入极验验证(geetest)


laravel不在赘述,什么排行第一的php框架,什么最优雅的代码,什么工匠级框架,谁用谁知道。

最近用laravel给主产品写了一个小插件,用到了极验,可有效的防护注册机或恶意用户的骚扰,如图示:

laravel的项目加入极验验证(geetest)_第1张图片
实际效果图


将步骤记录下来备用,少走弯路
一,注册极验
按照网站提示根据步骤进行注册,注册完成后进入后台,添加网站域名,而后生成一个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

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请求的数据传入控制器中(可先进行数据验证,本例只是演示)

laravel的项目加入极验验证(geetest)_第2张图片

个人推荐第二种方法,逻辑比较清晰

你可能感兴趣的:(laravel的项目加入极验验证(geetest))