orh / laravel-geetest-button
Laravel geetest button v3.0.0, Laravel 极验证行为验证 v3.0.0
v1.0.4
2018-04-18 13:43 UTC
Requires
- php: >=7.0
- jenssegers/agent: ~2.6.0
README
此扩展包是针对 极验证 的行为验证 v3.0.0 开发,适用于 Laravel 5.5.* 版本。
索引
示例
快速开始
1. 安装 laravel-geetest-button
composer require orh/laravel-geetest-button
2. 发布配置文件与前端资源文件
php artisan vendor:publish --provider="Ouronghuang\GeetestButton\ServiceProvider"
3. 在 .env
和 .env.example
文件添加以下配置
GEETEST_ID= GEETEST_KEY=
注意:id 与 key 请在 极验后台 获取。
4. 在要需要验证的页面引入以下文件
<link href="{{ asset('vendor/geetest/css/gt.css') }}" rel="stylesheet"/> <script src="{{ asset('vendor/geetest/js/gt.js') }}"></script> <script src="{{ asset('vendor/geetest/js/geetest.js') }}"></script>
注意:
- 需要引入
jQuery
; gt.js
必须在geetest.js
之前引入。
5. 在相应的表单加入以下代码
<div class="form-group geetest-captcha"> <label for="captcha">行为验证</label> <div id="embed-captcha"></div> <div class="wait"> 正在加载验证码 <i class="fa fa-spin fa-spinner" aria-hidden="true"></i> </div> <div class="notice hide text-danger"> <i class="fa fa-times-circle" aria-hidden="true"></i> 请先完成验证 </div> <input type="hidden" id="captcha" name="captcha"> </div>
注意:
- 上述示例排版采用 bootstrap@4.0.0;
- 上述示例图标采用 font-awesome@4.7.0。
也可以使用如下基本结构
<div class="geetest-captcha"> <label for="captcha">行为验证</label> <div id="embed-captcha"></div> <div class="wait">正在加载验证码...</div> <div class="notice hide text-danger">请先完成验证</div> <input type="hidden" id="captcha" name="captcha"> </div>
注意:
- 请保持如上结构;
- 样式可以根据需要调整;
- 加入
<input type="hidden" id="captcha" name="captcha">
是便于二次验证。
6. 在服务端表单验证中加入以下规则
$this->validate($request, [ ... 'captcha' => 'captcha', ]);
至此,安装完成。
发布文件说明
1. 配置文件 config/geetest.php
说明:
- 如果修改了
prefix
的值为test
,则需要修改public/vendor/geetest/js/geetest.js
的
$.ajax({ url: '/captcha?t=' + (new Date()).getTime() });
为
$.ajax({ url: '/test/captcha?t=' + (new Date()).getTime() });
- 如果修改了
captcha
的值为test
,则需要修改相应的表单验证规则
$this->validate($request, [ ... 'captcha' => 'captcha', ]);
为
$this->validate($request, [ ... 'captcha' => 'test', ]);
2. 前端资源文件
依赖
- Laravel 5.5.*
- jQuery 1.9.1+
许可证
遵循 MIT 开源许可