salahhusa9 / laravel-geetest-captcha
Laravel GeeTest Captcha for Laravel 9-10-11
v0.0.2
2024-07-05 20:12 UTC
Requires
- php: ^8.2||^8.0
- illuminate/contracts: ^11.0||^10.0||^9.0
- spatie/laravel-package-tools: ^1.0
Requires (Dev)
- nunomaduro/collision: ^8.0||^7.0||^6.0
- orchestra/testbench: ^9.0||^8.0||^7.0
- phpunit/phpunit: ^11.0||^10.0||^9.0
This package is auto-updated.
Last update: 2024-09-14 11:30:36 UTC
README
Laravel Geetest Captcha 是一个包,提供了一种简单的方式将 Geetest Captcha 集成到您的 Laravel 应用程序中。
支持我们
您的业务依赖于我们的贡献吗?请通过 Github 赞助 来支持我们。所有的承诺都将用于维护工作和新的精彩功能。
安装
- 您可以通过 composer 安装此包
composer require salahhusa9/laravel-geetest-captcha
- 您需要在布局文件的 head 标签中添加
@geetestCaptchaAssets()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> @geetestCaptchaAssets() </head> <body> ... </body> </html>
- 在 官方网站 上注册并激活您的 GeeTest 账户
- 在仪表板上创建 ID 和密钥
- 在 .env 文件中添加 GEETEST_ID 和 GEETEST_KEY
使用方法
在表单中使用
您可以使用如下方式在表单中使用
首先,在页面的页脚添加 @geetestCaptchaInit('captcha-id')
作为 script 标签,其中 captcha-id
是 captcha div 的 ID。
<form method="POST" action="{{ route('login') }}"> @csrf <div class="form-group"> <label for="email">Email</label> <input type="email" name="email" id="email" class="form-control" required> </div> <div class="form-group"> <label for="password">Password</label> <input type="password" name="password" id="password" class="form-control" required> </div> <div class="form-group"> <div id="captcha-id"> <!-- hire we render geetest captcha --> </div> </div> <button type="submit" class="btn btn-primary">Login</button> </form> @geetestCaptchaInit('captcha-id')
对于验证,您可以在控制器中使用 geetest_captcha
规则,如下所示
use Salahhusa9\GeetestCaptcha\Rules\GeetestCaptchaValidate; public function login(Request $request) { $request->validate([ 'email' => 'required|email', 'password' => 'required', 'geetest_captcha' => ['required', new GeetestCaptchaValidate] ]); // your logic }
通过中间件进行验证
您可以使用如下方式在中间件中使用
use Salahhusa9\GeetestCaptcha\Http\Middleware\ValidateGeetestCaptcha; Route::post('login', [LoginController::class, 'login'])->middleware(ValidateGeetestCaptcha::class);
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全漏洞
请参阅 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。