怎么在Laravel中使用这些年实现验证码功能

  介绍

这篇文章给大家介绍怎么在Laravel中使用这些年实现验证码功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强> geet集成大致过程

<李>

实现登录的大致逻辑

<李>

注册一个极验的帐号

<李>

在“极验”的后台管理中注册一个行为验证

<李>

根据官方演示配置我们的控制器和路由

<李>

根据官方演示配置我们的登录模板

<李>

测试

<强> geet集成详细过程

1,实现登录的大致逻辑

创建控制器php工匠:控制器GeetestController

编辑控制器/app/Http/控制器/GeetestController

& lt; php ?      namespace 应用\ Http \控制器;      use 照亮\ Http \请求;/* *   *,这是一个集成,Geetest 验证码的,Demo 类   */class  GeetestController  extends 控制器   {,/* *   ,*导入登录视图   ,*/,public  function 登录(),{   return 才能视图(& # 39;geet/登录# 39;);   ,}/* *   ,*验证用户信息   ,*/,public  function 检查(),{   return 才能;& # 39;用户已经在前端通过了验证码验证,,你可以在这里完善后续的逻辑& # 39;;   ,}   }

视图就是简单的表单,省略。

2,省略=比;“注册”

3,省略=比;“后台登录”=比;“行为验证”=比;申请一个id,关键

4,配置控制器和路由

首先,演示给出的核心类库是一个类文件叫class.geetestlib。php类名叫GeetestLib。我们创建一个类名一样的控制器来代替它php工匠:控制器GeetestLib

不要拷贝类,拷贝类里面的内容进来即可

GeetestController控制器实现逻辑

& lt; php ?      namespace 应用\ Http \控制器;      use 照亮\ Http \请求;   use 应用程序控制器\ Http \ \ GeetestLib;,//,我们创建然后拷贝得来的,GeetestLib 核心库/* *   *,这是一个集成,Geetest 验证码的,Demo 类   */class  GeetestController  extends 控制器   {,   ,//这里配置,id 和关键   ,private  captchaId 美元;=,“5 d467a3cb22a9310837d51720c5251f0";=,private  privateKey 美元;“40764 e6b94344f780d4b6b07148c9495";/* *   ,*导入登录视图   ,*/,public  function 登录(),{   return 才能视图(& # 39;geet/登录# 39;);   ,}/* *   ,*验证用户信息   ,*/,public  function 检查(),{   return 才能;& # 39;用户已经在前端通过了验证码验证,,你可以在这里完善后续的逻辑& # 39;;   ,}/* *   ,*实现验证功能:,直接复制官方演示提供得   ,*/,public  function  startCaptchaServlet (), {//才能,这里使用配置的,id 和关键=美元才能GtSdk  new  GeetestLib ($ this→captchaId,, $ this→privateKey);   session_start才能();   ,,   时间=美元才能data 阵列(   ,才能“user_id",=祝辞,“test",, #,网站用户id   ,才能“client_type",=祝辞,“web",, # web:电脑上的浏览器;编辑:手机上的浏览器,包括移动应用内完全内置的web_view;本地:通过原生SDK植入应用程序应用的方式   ,才能“ip_address",=祝辞,“127.0.0.1", #,请在此处传输用户请求验证时所携带的IP   ,,);   ,,   时间=美元才能status 美元GtSdk→pre_process ($ data, 1);   美元才能_SESSION [& # 39; gtserver& # 39;],=,美元地位;   美元才能_SESSION [& # 39; user_id # 39;],=, $ data [& # 39; user_id # 39;];   echo 才能;GtSdk→美元get_response_str ();   ,}   }

配置路由/线路/web。php

//,集成,Geetest 验证码   路线:get (& # 39; GeetestLogin& # 39;,, & # 39; GeetestController@login& # 39;);,//登录页面   路线:get (& # 39; GeetestCheck& # 39;,, & # 39; GeetestController@check& # 39;);,//登录验证,(我们没写具体逻辑)   路线:get (& # 39; GeetestStartCaptchaServlet& # 39;,, & # 39; GeetestController@startCaptchaServlet& # 39;);,//,调用方法启用验证码

5,完善登录模板/资源/视图/geet/login.blade。php

需要导入jquery(我们用npm运行dev编译的app.js整合了jquery)

需要导入演示给出gt.js,我们放在公共/js下<代码> & lt;脚本https://www.yisu.com/zixun/src="/js/gt.js ">

其实理论上还可以放在/资源/资产/js/下,并且在/资源/资产/js/应用程序。js中需要进来让它参与被编译,直接在公共/js中打包整合生效。

怎么在Laravel中使用这些年实现验证码功能