huangdijia/laravel-recaptcha-v3

recaptcha-v3 for laravel
11,689 19
Install
composer require huangdijia/laravel-recaptcha-v3
Latest Version:v3.0.0-beta.1
PHP:>=8.0
License:MIT
Last Updated:Mar 8, 2024
Links: GitHub  ·  Packagist
Maintainer: huangdijia

Google reCaptcha v3 for Laravel 5.6+

Latest Test Latest Stable Version Total Downloads GitHub license

Installation

To install, simply add it to your composer.json file:

{
    "require": {
        "huangdijia/laravel-recaptcha-v3": "^3.0"
    }
}

And run composer to update your dependencies:

composer update

Or you can simply run

composer require huangdijia/laravel-recaptcha-v3

Publish configuration file to your config folder with command:

php artisan vendor:publish --provider="Huangdijia\Recaptcha\RecaptchaServiceProvider" --tag=config

Usage

Forms

// default
@recaptcha_field()

// custom
@recaptcha_field(['site_key'=>'your_key', 'name'=>'input_name'])

Init Recaptcha Javascript

Must add after @recaptcha_field()

Recaptcha v3 works best when it is loaded on every page to get the most context about interactions. Therefore, add to your header or footer template:

// default
@recaptcha_initjs()

// custom
@recaptcha_initjs(['site_key'=>'your_key', 'action' => 'action_name', 'name'=>'input_name'])

Validation as regular validation rule

Use as regular validation rule recaptcha:{ACTION},{SCORE},{HOSTNAME} like:

Validator::make($request->all(), [
    'g-recaptcha-response' => 'required|recaptcha:register,0.5,www.a.com',
    // or
    // 'g-recaptcha-response' => 'required|recaptcha',
]);

Validation as middleware

Set $routeMiddleware

    $routeMiddleware = [
        // ...
        'recaptcha' => Huangdijia\Recaptcha\Middleware\ReCaptcha::class,
    ];

Use with route

Route::get('/path')->middleware('recaptcha');
Route::get('/path')->middleware('recaptcha:{ACTION},{SCORE},{HOSTNAME}');

Hidden ReCAPTCHA

.grecaptcha-badge { 
    display: none; 
}

Related Packages

reliese/laravel

Reliese Components for Laravel Framework code generation.

3,954,390 1,705
php-tmdb/laravel

Laravel Package for TMDB ( The Movie Database ) API. Provides easy access to the...

53,312 160
laravel-ja/laravel

The Laravel Framework.

5,667 17
kavenegar/laravel

laravel 4 and 5 kavenegar integration

366,462 86
laravel/laravel

The skeleton application for the Laravel framework.

64,738,171 84,935