Invisible reCAPTCHA Integration with Laravel
Published on by Albert Chen
Invisible reCAPTCHA is an improved version of reCAPTCHA v2 (No CAPTCHA) developed by Google, and users now only need to click the button: “I’m not a robot” to prove they are human.
In Invisible reCAPTCHA, there is no longer an embedded CAPTCHA box for users to interact with. It’s totally invisible with only a badge showing on the bottom of the page so users your website know you are using this technology. (The badge can be hidden, but this is not recommended.)
Here is an example what it looks like if you’re using Invisible reCAPTCHA:
I created a simple package to help you integrate Invisible reCAPTCHA into your Laravel projects quickly and easily!
Invisible reCAPTCHA Installation
composer require albertcht/invisible-recaptcha
Next, add the ServiceProvider to the providers array in app/config/app.php
.
AlbertCht\InvisibleReCaptcha\InvisibleReCaptchaServiceProvider::class,
Configuration
Before you set your config, you need to apply for your API keys on https://www.google.com/recaptcha/admin first.
While choosing the type of your reCAPTCHA, remember to choose invisible reCAPTCHA
to make it work in the background.
After you’ve registered a new site, take your keys and add them to your .env file:
INVISIBLE_RECAPTCHA_SITEKEY={siteKey}INVISIBLE_RECAPTCHA_SECRETKEY={secretKey}INVISIBLE_RECAPTCHA_BADGEHIDE=falseINVISIBLE_RECAPTCHA_DEBUG=false
If you set
INVISIBLE_RECAPTCHA_BADGEHIDE
to true, you can hide the badge logo.You can see the binding status of those CAPTCHA elements on browser console by setting
INVISIBLE_RECAPTCHA_DEBUG
as true.
reCAPTCHA Usage
Display reCAPTCHA in Your View
{!! app('captcha')->render(); !!}
With custom language support:
{!! app('captcha')->render($lang = null); !!}
Validation
Add 'g-recaptcha-response' => 'required|captcha'
to rules array.
<br></br>$validate = Validator::make(Input::all(), [ 'g-recaptcha-response' => 'required|captcha']);
Check out the invisible-recaptcha package for the documentation and code.
Hello, I'm Albert Chen, a software architect, Laravel artisan and Swoole enthusiast located in Taiwan
My website: https://albert-chen.com