huangdijia/laravel-recaptcha-v3

laravel 的 recaptcha-v3

v3.0.0-beta.1 2023-07-31 05:22 UTC

README

Latest Test Latest Stable Version Total Downloads GitHub license

安装

要安装,只需将其添加到您的 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; 
}