这篇文章主要介绍了Laravel 集成 Geetest验证码的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Geetest 集成大致过程
实现登录的大致逻辑
注册一个极验的帐号
在 “极验” 的后台管理中注册一个行为验证
根据 官方Demo 配置我们的控制器和路由
根据 官方Demo 配置我们的登录模板
测试
Geetest 集成详细过程
1、实现登录的大致逻辑
创建控制器 php artisan make:controller GeetestController
编辑控制器 /app/Http/Controllers/GeetestController
Salin selepas log masuk
视图就是简单的表单,省略。
2、省略 => “注册”
3、省略 => “后台登录” => “行为验证” => 申请一个 id & key
4、配置控制器和路由
首先, Demo 给出的核心类库 是一个类文件叫 class.geetestlib.php, 类名叫 GeetestLib 。我们创建一个类名一样的控制器来代替它 php artisan make:controller GeetestLib
不要拷贝类,拷贝类里面的内容进来即可
GeetestController 控制器实现逻辑
captchaId, $this->privateKey); session_start(); $data = array( "user_id" => "test", # 网站用户id "client_type" => "web", #web:电脑上的浏览器;h5:手机上的浏览器,包括移动应用内完全内置的web_view;native:通过原生SDK植入APP应用的方式 "ip_address" => "127.0.0.1" # 请在此处传输用户请求验证时所携带的IP ); $status = $GtSdk->pre_process($data, 1); $_SESSION['gtserver'] = $status; $_SESSION['user_id'] = $data['user_id']; echo $GtSdk->get_response_str(); } }
配置路由 /routes/web.php
// 集成 Geetest 验证码 Route::get('GeetestLogin', 'GeetestController@login'); //登录页面 Route::get('GeetestCheck', 'GeetestController@check'); //登录验证 (我们没写具体逻辑) Route::get('GeetestStartCaptchaServlet', 'GeetestController@startCaptchaServlet'); // 调用方法启用验证码
5、完善登录模板 /resources/views/Geetest/login.blade.php
需要导入 jquery (我们用npm run dev编译的app.js整合了jquery)
需要导入 Demo 给出 gt.js ,我们放在 public/js 下
其实理论上还可以放在 /resouces/assets/js/ 下, 并且在 /resouces/assets/js/app.js 中 require 进来让它参与被编译,直接在 public/js 中打包整合生效。
在模板上,需要定义两个样式类 .show & .hide => 用于 gt.js 操控提示信息的样式 同样可以写进 /resouces/assets/sass/ 下
给 表单提交 “登录” 按钮一个id
拷贝 Demo 中提供的前端 逻辑js, 注意绑定下这个按钮
注意下 .ajax 配置的 url 必须是我们在 web.php 中定义的路有 'GeetestStartCaptchaServlet'
具体代码
Geetest 集成 Demo
Geetest 集成 Demo Geetest 官方网站
测试成功
可以优化的地方
最好不要用一个 “控制器” 充当核心类库, 应该把GeetestLib 想办法集成到另一个地方去
视图模板上的 js & css 应该写在 resources/assets 里面参与生成 app.css & app.js 的编译
具体登录逻辑我们没写。应该还可以在登录验证 check() 方法再确认一次 Geetest验证 是否成功,可以参考 Demo
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持php中文网。
Phpstorm+Xdebug断点调试PHP的方法php实例
Atas ialah kandungan terperinci Laravel 集成 Geetest验证码的方法php实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!