Pada artikel ini, kita akan mempelajari cara memblokir alamat IP agar tidak mengakses aplikasi Laravel. Mari kita mulai:
Table of Contents
Buat Middleware
Jalankan perintah ini untuk membuat middleware bernama kelas RestrictIpMiddleware :
php artisan make:middleware RestrictIpMiddleware
Buka folder app/Http/Middleware dan buka file RestrictIpMiddleware.php & tempel kode ini:
RestrictIpMiddleware.php
<?php
namespace App\Http\Middleware;
use Closure;
class RestrictIpMiddleware
{
// set IP addresses
public $restrictIps = ['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->restrictIps)) {
return response()->json(['message' => "You don't have permission to access this website."]);
}
return $next($request);
}
}
Kami dapat mengatur banyak IP ke $restrictIpsarray
.
Daftarkan Middleware
Kita perlu mendaftarkan middleware yang baru dibuat ke app/Http/Kernel.php. Buka file dan daftarkan middleware kami dalam $middlewareGroupsarray
seperti ini:
Kernel.php
protected $middlewareGroups = [
'web' => [
//--------------
\App\Http\Middleware\RestrictIpMiddleware::class,
],
'api' => [
//--------------
],
];
Jadi, middleware kami akan diperiksa pada setiap permintaan web.
Uji
ami telah menyelesaikan semua tugas. Mari kita uji dengan mengunjungi aplikasi kita dari alamat IP terbatas. Jika semuanya baik-baik saja, Anda akan melihat pesan seperti:
{
message: "You don't have permission to access this website."
}
Itu saja. Terima kasih.🙂
laravel blokir ip address dengan laravel