Download the PHP package bedigit/lara-recaptcha without Composer

On this page you can find all versions of the php package bedigit/lara-recaptcha. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package lara-recaptcha

Laravel reCAPTCHA v2 and v3

Advanced and painless Google reCAPTCHA package for Laravel

Available reCAPTCHA versions:

System requirements

Package version PHP version Laravel version
dev-master 7.2.5 or greater 6.20.13 or greater

Composer

You can install the package via composer:

$ composer require bedigit/lara-recaptcha:^1.0  

Laravel 5.5 (or greater) uses package auto-discovery, so doesn't require you to manually add the Service Provider, but if you don't use auto-discovery ReCaptchaServiceProvider must be registered in config/app.php:

'providers' => [
 ... 
 Bedigit\ReCaptcha\ReCaptchaServiceProvider::class,
 ]; 

You can use the facade for shorter code. Add ReCaptcha to your aliases:

'aliases' => [
... 
'ReCaptcha' => Bedigit\ReCaptcha\Facades\ReCaptcha::class,
];

Configuration

Publish package
Create config/recaptcha.php configuration file using the following artisan command:

$ php artisan vendor:publish --provider="Bedigit\ReCaptcha\ReCaptchaServiceProvider" 

Set the environment
Add your API Keys
Open .env file and set RECAPTCHA_SITE_KEY and RECAPTCHA_SECRET_KEY:

in your .env file

RECAPTCHA_SITE_KEY=YOUR_API_SITE_KEY  
RECAPTCHA_SECRET_KEY=YOUR_API_SECRET_KEY  

Complete configuration
Open config/recaptcha.php configuration file and set version:

return [  
   'site_key' => env('RECAPTCHA_SITE_KEY', ''),  
   'secret_key' => env('RECAPTCHA_SECRET_KEY', ''),  
   'version' => 'v2', // supported: v3|v2|invisible   
   'skip_ip' => [], // array of IP addresses - String: dotted quad format e.g.: 127.0.0.1  
   'validation_route' => env('RECAPTCHA_VALIDATION_ROUTE', 'lara-recaptcha/validate'),  
   'token_parameter_name' => env('RECAPTCHA_TOKEN_PARAMETER_NAME', 'token')  
];  

site_key and secret_key are reCAPTCHA keys you have to create in order to perform Google API authentication. For more information about Site Key and Secret Key please visit Google reCAPTCHA developer documentation

version indicates the reCAPTCHA version (supported: v3|v2|invisible). Get more info about reCAPTCHA version at https://developers.google.com/recaptcha/docs/versions.

skip_ip is a whitelist of IP addresses that, if recognized, disable the reCAPTCHA validation (return always true) and if you embed JS code in blade (view) file NO validation call will be performed.

validation_route is the route called via javascript built-in validation script (v3 only)

token_parameter_name is the name of "token" GET parameter sent to validation_route to be validated (v3 only)

Reload config cache file
!!! IMPORTANT !!! Every time you change some configuration run the following shell command:

$ php artisan config:cache

Have you updated?
If you are migrating from an older version add skip_ip array in recaptcha.php configuration file.

Customize error message
Just for v2 and invisible users.

Before starting please add the validation message to resources/lang/[LANG]/validation.php file

return [  
 ... 
 'recaptcha' => 'The :attribute is wrong!',
 ];  

How to use v2

Embed in Blade

Insert recaptchaApiJsScriptTag($formId) helper before closing </head> tag.

You can also use ReCaptcha::recaptchaApiJsScriptTag($formId). $formId is required only if you are using ReCAPTCHA INVISIBLE

ReCAPTCHA v2 Checkbox

After you have to insert recaptchaHtmlFormSnippet() helper inside the form where you want to use the field g-recaptcha-response.

You can also use ReCaptcha::recaptchaHtmlFormSnippet() .

ReCAPTCHA v2 Invisible

After you have to insert recaptchaHtmlFormButton($buttonInnerHTML) helper inside the form where you want to use reCAPTCHA.

This function creates submit button therefore you don't have to insert <input type="submit"> or similar.

You can also use ReCaptcha::recaptchaHtmlFormButton($buttonInnerHTML) .

$buttonInnerHTML is what you want to write on the submit button

!!!IMPORTANT!!! Use as $formId the same value you previously set in recaptchaApiJsScriptTag function.

Verify submitted data

Add recaptcha to your rules

Print form errors

How to use v3

Embed in Blade

Insert recaptchaApiV3JsScriptTag($config) helper before closing </head> tag.

$config is required and is an associative array containing configuration parameters required for the JavaScript validation handling.

The keys are:

Key Required Description Default value
action no is the action parameter required by reCAPTCHA v3 API (further info) homepage
custom_validation no is the name of your custom callback javascript function who will override the built-in javascript validation system of this package empty string
callback_then no (overlooked if custom_validationis set) is the name of your custom callback javascript function called by the built-in javascript validation system of this package in case of response success empty string
callback_catch no (overlooked if custom_validationis set) is the name of your custom callback javascript function called by the built-in javascript validation system in this package in case of response fault empty string

Built-in javascript validation system

As callback of grecaptcha.execute an AJAX call to config('recaptcha.validation_route') will be performed using fetch function. In case of successful response a Promise object will be received and passed as parameter to the callback_then function you have set. In not set, no actions will be performed.

Same will happen with callback_catch. callback_catch will be called in event of response errors and errors will pass as parameter et that function. If not set, no actions will be performed.

Please, go to Using Fetch for further information on fetch javascript function.

Warning: Check browser compatibility fetch function has compatibility issues with some browser like IE. Please create a custom validation function and set custom_validation with its name. That function has to accept as argument the tokenreceived from Google reCAPTCHA API.

Fetch browser compatibility

Validation Laravel route

Default validation route is config('recaptcha.validation_route', 'lara-recaptcha/validate').
Route and relative Controller are built-in in the package. The route if filtered and protected by Laravel web Middleware, that's why is important you embed csrf-token HTML meta tag and send X-Requested-Wit and X-CSRF-TOKEN headers.

You can also change the validation end-point changing validation_route value in recaptcha.php config file.

Validation response object

The output will be a JSON containing following data:

If you embed code in your blade file using recaptchaApiV3JsScriptTag helper no validation call will be performed!

In the next paragraph you can learn how handle Validation promise object

"callback_then" and "callback_catch"

After built-in validation you should do something. How? Using callback_then and callback_catch functions.

What you have to do is just create functions and set parameters with their names.

The result should be something like that:

"custom_validation" function

As just said you can handle validation with your own function. To do that you have to write your function and set custom_validation parameter with its name.

The result should be something like that:

License

Under MIT License


All versions of lara-recaptcha with dependencies

PHP Build Version
Package Version
Requires php Version ^7.2.5|^7.3
laravel/framework Version ^6.20.13|^7.30.3|^8.23
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package bedigit/lara-recaptcha contains the following files

Loading the files please wait ....