Laravel 集成 Geetest验证码的方法php实例

jacklove
Lepaskan: 2023-04-01 18:46:01
asal
1604 orang telah melayarinya

这篇文章主要介绍了Laravel 集成 Geetest验证码的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Geetest 集成大致过程

  1. 实现登录的大致逻辑

  2. 注册一个极验的帐号

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

  4. 根据 官方Demo 配置我们的控制器和路由

  5. 根据 官方Demo 配置我们的登录模板

  6. 测试

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(); } }
Salin selepas log masuk

配置路由 /routes/web.php

// 集成 Geetest 验证码 Route::get('GeetestLogin', 'GeetestController@login'); //登录页面 Route::get('GeetestCheck', 'GeetestController@check'); //登录验证 (我们没写具体逻辑) Route::get('GeetestStartCaptchaServlet', 'GeetestController@startCaptchaServlet'); // 调用方法启用验证码
Salin selepas log masuk

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 官方网站

我们不会公开您的邮箱

正在加载验证码......

请先完成验证

Salin selepas log masuk

测试成功

可以优化的地方

最好不要用一个 “控制器” 充当核心类库, 应该把GeetestLib 想办法集成到另一个地方去

视图模板上的 js & css 应该写在 resources/assets 里面参与生成 app.css & app.js 的编译

具体登录逻辑我们没写。应该还可以在登录验证 check() 方法再确认一次 Geetest验证 是否成功,可以参考 Demo

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持php中文网。

您可能感兴趣的文章:

Phpstorm+Xdebug断点调试PHP的方法php实例

php strftime函数获取日期时间php基础

PHP多维数组指定多字段排序的示例代码_php实例

Atas ialah kandungan terperinci Laravel 集成 Geetest验证码的方法php实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!