Laravel 10 restrict or block user access from IP address; Through this tutorial, i am going to show you how to restrict or block a user by IP address for accessing the website in Laravel 10 apps.
Laravel 10 Restrict User Access From IP Addresses Tutorial
Follow following steps to implement restrict or block user by ip address in Laravel 10 app:
- Install Laravel 10 App
- Connecting App to Database
- Create a Middleware
- Register the Middleware
Step 1: Install Laravel 10 App
Run the below given command on command prompt to download fresh laravel setup:
composer create-project --prefer-dist laravel/laravel blog
Step 2: Connecting App to Database
Go to your project root directory, find .env file and setup database credential as follow:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=here your database name here DB_USERNAME=here database username here DB_PASSWORD=here database password here
Step 3: Create a Middleware
Run the following command to create a middleware named class BlockIpMiddleware:
php artisan make:middleware BlockIpMiddleware
Now, Go to app/Http/Middleware folder and open BlockIpMiddleware.php file. Then update the following code into your BlockIpMiddleware.php file:
<?php namespace App\Http\Middleware; use Closure; class BlockIpMiddleware { // set IP addresses public $blockIps = ['ip-addr-1', 'ip-addr-2', '127.0.0.1']; /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (in_array($request->ip(), $this->blockIps)) { return response()->json(['message' => "You don't have permission to access this website."]); } return $next($request); } }
Step 4: Register the Middleware
To register the middleware, so go to app/Http/ and open Kernel.php file. And register middleware as follow:
protected $middlewareGroups = [ 'web' => [ //-------------- \App\Http\Middleware\BlockIpMiddleware::class, ], 'api' => [ //-------------- ], ];
Conclusion
Llaravel block IP address example tutorial, you have learned how to block user by its IP address in laravel app.