Recaptcha is an automatic captcha recognition service designed for the needs of webmasters and website owners. They use it on websites in order to distinguish real people from spambots. For website designers, developers, admins, such a “pass system” is simply irreplaceable as it helps them to stop the unwanted traffic to the site. These days, the Laravel application is being used by many companies. If you are a Laravel Developer and want to generate Google Recaptcha code in Laravel, let’s follow the recommendations below:
- Configure Laravel Application
You can install a new Laravel Application by using the following command.
composer create-project –prefer-dist laravel/laravel laravelrecaptcha
- Install anhskohbo/no-captcha Package
At first, you need to install anhskohbo/no-captcha Package for Google Recaptcha code. It will help you to generate a reCaptcha code for your application. Navigate to the command line and use the following command line.
composer require anhskohbo/no-captcha
- Publish Configure File
It supports the auto-discovery feature of Laravel 5.5+. So, to do so, use the following command to Publish Config File-
php artisan vendor:publish –provider=”Anhskohbo\NoCaptcha\NoCaptchaServiceProvider”
- Set Google Site Key and Secret Key
Now, you should set Google Site Key and Secret Key in the .env file. If you have no Site Key and Secret Key, generate it from using this link.
Now, you need to open a .env file and add two keys:
NOCAPTCHA_SECRET=xxxx
NOCAPTCHA_SITEKEY=xxxx
- Develop One Controller
Use the following code to create one controller-
php artisan make:controller RecaptchaController –resource.
You also need to define validation in the controller file.
//RecaptchaController.php
public function create()
{
return view(‘recaptchacreate’);
}
public function store(Request $request)
{
$request->validate([
‘name’ => ‘required’,
’email’ => ‘required|email’,
‘password’ => ‘required|min:6’,
‘g-recaptcha-response’ => ‘required|captcha’
]);
return “success”;
}
In tore() function, put the validation. In case this process fails, it will show an error.
- Define Routes
You must explore the route in routes >> web.php file.
//web.php
Route::get(‘recaptchacreate’, ‘RecaptchaController@create’);
Route::post(‘store’, ‘RecaptchaController@store’);
You should define Two(2) routes in the web.php file. The first route is to display the login page. And, the second route is used to make a post request.
- Create One View File
You need to create a file in the resources >> views >> recaptchacreate.blade.php and place the code in it:
//recaptchacreate.blade.php
<html lang=”en”>
<head>
<title>reCAPTCHA Code in Laravel</title>
<link rel=”stylesheet” href=”{{asset(‘css/app.css’)}}”>
<link href=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css” rel=”stylesheet”>
<script src=”https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js”></script>
<script src=”https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js”></script>
</head>
<body>
<div class=”container”>
<h2>reCAPTCHA Code in Laravel</h2><br/>
@if ($errors->any())
<div class=”alert alert-danger”>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div><br />
@endif
<form method=”post” action=”{{url(‘store’)}}”>
@csrf
<div class=”row”>
<div class=”col-md-4″></div>
<div class=”form-group col-md-4″>
<label for=”Name”>Name:</label>
<input type=”text” class=”form-control” name=”name”>
</div>
</div>
<div class=”row”>
<div class=”col-md-4″></div>
<div class=”form-group col-md-4″>
<label for=”Email”>Email:</label>
<input type=”text” class=”form-control” name=”email”>
</div>
</div>
<div class=”row”>
<div class=”col-md-4″></div>
<div class=”form-group col-md-4″>
<label for=”Password”>Password:</label>
<input type=”password” class=”form-control” name=”password”>
</div>
</div>
<div class=”row”>
<div class=”col-md-4″></div>
<div class=”form-group col-md-4″>
<label for=”ReCaptcha”>Recaptcha:</label>
{!! NoCaptcha::renderJs() !!}
{!! NoCaptcha::display() !!}
</div>
</div>
<div class=”col-md-4″></div>
<div class=”form-group col-md-4″>
<button type=”submit” class=”btn btn-success”>Submit</button>
</div>
</div>
</form>
</div>
</body>
</script>
</html>
Now, you need to develop the Laravel server by using the below-mentioned command:
PHP artisan serve
If you enter incorrect reCaptcha code, then it will show errors-
Now, you have successfully generated the Google Recaptcha code in Laravel.
Final Words
So, it is clear that Recaptcha is used by website owners to differentiate between bots and human users. You can generate Google Recaptcha code in Larvel in an easy way. Best of Luck!
Author Bio
Jack Calder is a WordPress Developer, associated with Stellen Infotech one of the best Web Development & Digital Marketing Company around the globe. He has a lot of experience in development custom WordPress Themes. He has delivered a numerous range of quality Websites related to WordPress. She has a strong passion for writing useful and insights about WordPress tips and tricks.
Discover more from TechBooky
Subscribe to get the latest posts sent to your email.