Recaptcha

greggilbert/recaptcha image

Recaptcha stats

Downloads
1.4M
Stars
718
Open Issues
43
Forks
197

View on GitHub →

reCAPTCHA Validator for Laravel 5

Abandoned

All good things must come to an end. The sad fact is that I don't have time to maintain this package, so the release of Laravel 6 is as good as any to make a clean break. You should take a look at the forks to see if anyone is carrying on the torch.

Thanks to everyone for sticking by this package for years!

Recaptcha

A reCAPTCHA Validator for Laravel 5.

(Looking for a Laravel 4 version? Pull the latest 1.x tag. For Laravel 5.0, pull the latest 2.0 tag.)

Installation

Add the following line to the require section of composer.json:

{
"require": {
"greggilbert/recaptcha": "dev-master"
}
}

Setup

  1. In /config/app.php, add the following to providers:
Greggilbert\Recaptcha\RecaptchaServiceProvider::class,

and the following to aliases:

'Recaptcha' => Greggilbert\Recaptcha\Facades\Recaptcha::class,
  1. Run php artisan vendor:publish --provider="Greggilbert\Recaptcha\RecaptchaServiceProvider".
  2. In /config/recaptcha.php, enter your reCAPTCHA public and private keys.
  • If you are not using the most recent version of reCAPTCHA, set version to 1.
  • If you are upgrading to v2 of reCAPTCHA, note that your keys from the previous version will not work, and you need to generate a new set in the reCAPTCHA admin.
  1. The package ships with a default validation message, but if you want to customize it, add the following line into resources/lang/[lang]/validation.php:
'recaptcha' => 'The :attribute field is not correct.',

Usage

v2 (No Captcha)

  1. In your form, use {!! Recaptcha::render() !!} to echo out the markup.
  2. In your validation rules, add the following:
$rules = [
// ...
'g-recaptcha-response' => 'required|recaptcha',
];

v1 (Legacy)

  1. In your form, use {!! Recaptcha::render() !!} to echo out the markup.
  2. In your validation rules, add the following:
$rules = [
// ...
'recaptcha_response_field' => 'required|recaptcha',
];

It's also recommended to add required when validating.

Customization

reCAPTCHA v2 allows for customization of the widget through a number of options, listed at the official documentation. You can configure the output of the captcha through six allowed keys: theme, type, lang, callback, tabindex and expired-callback.

In the config file, you can create an options array to set the default behavior. For example:

// ...
'options' => [
'lang' => 'ja',
],

would default the language in all the reCAPTCHAs to Japanese. If you want to further customize, you can pass options through the render option:

echo Recaptcha::render([ 'lang' => 'fr' ]);

Options passed into Recaptcha::render will always supercede the configuration.

Language

To change the language of the captcha, simply pass in a language as part of the options:

'options' => [
'lang' => 'fr',
],

For a list of valid language codes, consulting the official documentation.

Custom template

Alternatively, if you want to set a default template instead of the standard one, you can use the config:

// ...
'template' => 'customCaptcha',

or you can pass it in through the Form option:

echo Recaptcha::render([ 'template' => 'customCaptcha' ]);

v1 customization

For the v1 customization options, consult the old documentation and apply accordingly.

Limitation

Because of Google's way of displaying the reCAPTCHA, this package won't work if you load your form from an AJAX call. If you need to do it, you should use one of the alternate methods provided by Google.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Greggilbert Recaptcha Related Articles

reCAPTCHA Packages for Laravel image

reCAPTCHA Packages for Laravel

Read article
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Celebian logo

Celebian

Celebian is a social media marketing agency specializing in helping their clients go viral on TikTok. Whether you're looking to reach a bigger audience or gain more Tiktok followers, likes, and views, they've got you covered.

Celebian
Typesense Search logo

Typesense Search

Typesense is an open source, blazing-fast search engine, optimized for helping you build delightful search experiences for your sites and apps. Natively integrated with Laravel Scout.

Typesense Search
Curotec logo

Curotec

World class Laravel experts with GenAI dev skills. LATAM-based, embedded engineers that ship fast, communicate clearly, and elevate your product. No bloat, no BS.

Curotec
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Honeybadger logo

Honeybadger

Simple developer-focused application monitoring for Laravel. Error tracking, log management, uptime monitoring, status pages, and more!

Honeybadger