| Package Data | |
|---|---|
| Maintainer Username: | nissicreative |
| Maintainer Contact: | mike@nissicreative.com (Michael Folsom) |
| Package Create Date: | 2017-07-31 |
| Package Last Update: | 2023-07-18 |
| Language: | PHP |
| License: | MIT |
| Last Refreshed: | 2025-10-26 15:01:54 |
| Package Statistics | |
|---|---|
| Total Downloads: | 471 |
| Monthly Downloads: | 4 |
| Daily Downloads: | 0 |
| Total Stars: | 2 |
| Total Watchers: | 2 |
| Total Forks: | 1 |
| Total Open Issues: | 0 |
Easily integrate Google's reCAPTCHA into your Laravel 5+ project.
composer require nissicreative/laravel-recaptcha
Add the service provider to the providers array in app/config/app.php.
(You can skip this step if using Laravel 5.5+, as it will use Laravel's autodiscovery.)
Nissi\ReCaptcha\ReCaptchaServiceProvider::class,
Visit https://google.com/recaptcha and register your site. Be sure to list all domains on which you will use the widget, including any local or staging domains (e.g.
localhostormysite.test). You will be assigned a Site Key and a Secret Key.
Add these reCAPTCHA keys to your .env file:
RECAPTCHA_KEY=my-site-key
RECAPTCHA_SECRET=my-secret-key
This is the default config file:
<?php
return [
'key' => env('RECAPTCHA_KEY'),
'secret' => env('RECAPTCHA_SECRET'),
'script_url' => 'https://www.google.com/recaptcha/api.js',
'verify_url' => 'https://www.google.com/recaptcha/api/siteverify',
'error_message' => 'reCAPTCHA validation failed. Please try again.',
'log_responses' => false,
];
If you would like to modify the config file and/or views, you may run:
php artisan vendor:publish
In your page's <head> section, add this line to include the remote Google JavaScript file:
@include('recaptcha::script')
Then inside your form, insert the widget:
@include('recaptcha::widget')
That's it! You should now see the reCAPTCHA widget when you refresh the page.
Validation is simple: Just add a recaptcha rule to your validator. For example, in a controller:
$this->validate($request, [
'g-recaptcha-response' => 'required|recaptcha',
// Other rules...
], [
// Custom messages
'g-recaptcha-response.required' => 'Please complete the reCAPTCHA.',
]);
The recaptcha rule takes care of sending the input to Google's servers via Guzzle, and returns true upon successful validation.
Enjoy your reduced-spam lifestyle.