tendollor / geetest
适用于 Laravel6-8 的 Geetest 包
v1.2.0
2020-10-13 20:15 UTC
Requires
- php: ^7.2
- 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 misechow/laravel-geetest
配置
Laravel5.5+ 可跳过此步骤
-
在 config/app.php 中注册 ServiceProvider
Misechow\Geetest\GeetestServiceProvider::class,
-
在 config/app.php 中添加 Alias
'Geetest' => Misechow\Geetest\Facades\Geetest::class,
-
创建配置文件、视图级资源文件:
php artisan vendor:publish --provider='Misechow\Geetest\GeetestServiceProvider'
-
.env
文件增加配置项GEETEST_ID
和GEETEST_KEY
或通过添加 Component CaptchaVerify 来获取 ID 和 KEY
配置项
使用
- 前端使用
安装扩展后,在页面需要使用极验验证码的地方增加如下代码
{!! 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)。请参阅 许可证文件 获取更多信息。