laraveladmin / geetest
Laravel6-8 版 Geetest 包
v1.2.1
2022-03-02 03:49 UTC
Requires
- php: >=5.6.0
- ext-json: *
- guzzlehttp/guzzle: ^6.3|^7.0
- illuminate/routing: ^6|^7|^8
- illuminate/support: ^6|^7|^8
Requires (Dev)
- mockery/mockery: ^1.3.1
- phpunit/phpunit: ^7.5.15|^8.4|^9.0
README
极验验证码 v3.0 Laravel
基于 Germeyd 的 package,添加了后台获取 Geetest ID 和 KEY 的方法,无需从 env 获取。
安装
安装包文件
$ composer require zbrettonye/geetest
配置
Laravel5.5+ 可跳过此步骤
config/app.php 注册 ServiceProvider
ZBrettonYe\Geetest\GeetestServiceProvider::class,
config/app.php 添加 Alias
'Geetest' => ZBrettonYe\Geetest\Facades\Geetest::class,
创建配置文件、视图级资源文件:
php artisan vendor:publish --provider='ZBrettonYe\Geetest\GeetestServiceProvider'
.env
文件增加配置项GEETEST_ID
和GEETEST_KEY
或通过添加 Component CaptchaVerify 来获取 ID 和 KEY
配置项
配置项 | 说明 | 选项 | 默认值 |
---|---|---|---|
width | 按钮宽度 | 单位可以是 px, %, em, rem, pt | 300px |
lang | 语言,极验验证码免费版不支持多国语言 | zh-cn, en, zh-tw, ja, ko, th | zh-cn |
server-get-config | 从服务器获取 Geetest KEY | True | False |
product | 验证码展示方式 | popup, float | popup |
geetest_id | 极验验证码 ID | ||
geetest_key | 极验验证码 KEY | ||
client_fail_alert | 客户端失败提示语 | 请完成验证码 | |
server_fail_alert | 服务端失败提示语 | 验证码校验失败 |
使用
- 前端使用
安装扩展后,在页面需要使用极验验证码的地方增加如下代码
{!! Geetest::render() !!}
- 服务端校验
在服务端使用 geetest
验证规则进行二次验证,示例代码:
$this->validate($request, [
'geetest_challenge' => 'required|geetest'
], [
'geetest' => config('geetest.server_fail_alert')
]);
- 配置项:server-get-config - 服务器获取 GeetestKey
通过调用 Components CaptchaVerify 的 geetestCaptchaGetConfig 方法来获取 Geetest 配置,方便实现由后台配置的 KEY 和 ID
<?php
namespace App\Components;
/**
* Class CaptchaVerify
*
* @package App\Components
*/
Class CaptchaVerify
{
public static function geetestCaptchaGetConfig()
{
return [
"geetest_id" => Helpers::systemConfig()["geetest_id"], // 后台获取 id
"geetest_key" => Helpers::systemConfig()["geetest_key"] // 后台获取 key
];
}
}
?>
参考项目
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。