huangdijia / laravel-recaptcha-v3
laravel 的 recaptcha-v3
资助包维护!
huangdijia
hdj.me/sponsors
Requires
- php: >=8.0
- google/recaptcha: ^1.2
- illuminate/console: ^9.0|^10.0|^11.0
- illuminate/support: ^9.0|^10.0|^11.0
Requires (Dev)
- huangdijia/php-coding-standard: ^1.1
- orchestra/testbench: ^7.0|^8.0|^9.0
- phpstan/phpstan: ^1.0
This package is auto-updated.
Last update: 2024-09-08 07:32:48 UTC
README
安装
要安装,只需将其添加到您的 composer.json
文件中
{ "require": { "huangdijia/laravel-recaptcha-v3": "^3.0" } }
然后运行 composer 更新您的依赖项
composer update
或者您可以直接运行
composer require huangdijia/laravel-recaptcha-v3
使用命令将配置文件发布到您的 config
文件夹
php artisan vendor:publish --provider="Huangdijia\Recaptcha\RecaptchaServiceProvider" --tag=config
使用
表单
// default @recaptcha_field() // custom @recaptcha_field(['site_key'=>'your_key', 'name'=>'input_name'])
初始化 Recaptcha Javascript
必须在 @recaptcha_field()
之后添加
Recaptcha v3 在加载在每个页面上时效果最佳,以便获取最多交互上下文。因此,将其添加到您的页眉或页脚模板中
// default @recaptcha_initjs() // custom @recaptcha_initjs(['site_key'=>'your_key', 'action' => 'action_name', 'name'=>'input_name'])
作为常规验证规则进行验证
使用常规验证规则 recaptcha:{ACTION},{SCORE},{HOSTNAME}
,例如
Validator::make($request->all(), [ 'g-recaptcha-response' => 'required|recaptcha:register,0.5,www.a.com', // or // 'g-recaptcha-response' => 'required|recaptcha', ]);
作为中间件进行验证
设置 $routeMiddleware
$routeMiddleware = [ // ... 'recaptcha' => Huangdijia\Recaptcha\Middleware\ReCaptcha::class, ];
与路由一起使用
Route::get('/path')->middleware('recaptcha'); Route::get('/path')->middleware('recaptcha:{ACTION},{SCORE},{HOSTNAME}');
隐藏 ReCAPTCHA
.grecaptcha-badge { display: none; }