How to enable Google reCaptcha with Laravel?

Step 1 – First go to https://www.google.com/recaptcha/intro/v3.html then click on Admin console

Step 2 – Genereate new recaptcha (click on + button to create)

  1. Type label name
  2. Select ReCaptcha v2 ► select “I’m not a robot” Checkbox
  3. Domains (localhost) or your website address eg www.example.com
  4. Accept the ReCaptcha term of service ( tick checkbox)
  5. send alerts to owners (tick checkbox already) ► click on submit button

Step 3 – after that you will see site key – like this
(6LdtjbYUAAAAANm-tqllPU_O-rHyZ-0HwR0COkYk)

Step 4 – and secret key like this (6LdtjbYUAAAAABDNEWDL2EgBN2pq76AdgHQoLx77)

Step 5 – copy both keys in notepad.

Step 6 -Put below javascript code in resources/views/layouts/app.blade.php

Step 7 – and put below code in your form area above submit button

@if(errors->has(‘g-recaptcha-response’))

{{$errors->first(‘g-captcha-response’)}}

@endif

Step 8 – open any terminal like gitbash or PowerShell and type this command (composer require google/recaptcha ‘~1.1’ press enter
► then run command php artisan make:rule Captcha (press enter)
► then open app/Rules/Captcha.php and add below lines

use ReCaptcha\ReCaptcha;

► and add below codes to Captcha.php

public function passes($attribute, $value)
{
$recaptcha = new ReCaptcha(env(‘CAPTCHA_SECRET’));
$response = $recaptcha->verify($value, $_SERVER[‘REMOTE_ADDR’]);
return $response->isSuccess();
}
—–
public function message()
{
return ‘Please complete the recaptcha to submit the form’;
}

Step 9 – and add below lines to app/Http/User/JobController.php

use App\Rules\Captcha;

Step 10 – and add under validator ‘g-captcha-response’ => new Captcha(),

If you have any query then comment us we will solve your issue and give you also some awesome steps and tricks to solve it. Please follow us for future reference on other topics like PHP, Laravel and other languages.

For More reference Please check this out :

Chandan Kumar
Follow Me: