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


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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容