ahmadajah03 Mon Dec 2020 1 year ago

Contoh Laravel Block IP Address dari Akses Situs Web

Pada artikel ini, kita akan mempelajari cara memblokir alamat IP agar tidak mengakses aplikasi Laravel. Mari kita mulai:

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