ahmadajah03 Sun Dec 2020 2 years ago

Laravel 8 Restrict User Access dari IP Address

Laravel 8 membatasi/memblokir akses pengguna dari alamat IP. Dalam tutorial ini, Anda akan mempelajari cara membatasi atau memblokir pengguna berdasarkan alamat IP untuk mengakses situs web.

Terkadang, Anda ingin membatasi pengguna dengan alamat IP tertentu, Jadi tutorial ini akan memandu Anda langkah demi langkah membatasi pengguna dengan alamat IP tertentu di aplikasi laravel.

Dalam laravel ini, batasi pengguna berdasarkan alamat ip, akan membuat custom middleware di aplikasi laravel. Permintaan pengguna filter middleware ini berdasarkan alamat ipnya. Jika pengguna yang buruk meminta ke aplikasi Anda, middleware ini memblokir pengguna tersebut. Middleware ini hanya mengizinkan pengguna alamat ip tertentu.

Laravel 8 Membatasi Akses Pengguna Dari Alamat IP Tutorial

Cukup ikuti langkah-langkah di bawah ini dan batasi pengguna berdasarkan alamat ip di aplikasi laravel:

  • Instal Aplikasi Laravel 8
  • Menghubungkan Aplikasi ke Database
  • Buat Middleware
  • Daftarkan Middleware

Langkah 1: Instal Aplikasi Laravel 8

Pada langkah ini, gunakan perintah berikut dan unduh pengaturan laravel baru:

composer create-project --prefer-dist laravel/laravel blog

Langkah 2: Menghubungkan Aplikasi ke Database

Pada langkah ini, Masuk ke direktori root proyek Anda, temukan file .env dan atur kredensial database sebagai berikut:

 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

Langkah 3: Buat Middleware

Langkah selanjutnya, Jalankan perintah berikut untuk membuat middleware bernama kelas  BlockIpMiddleware :

php artisan make:middleware BlockIpMiddleware

Sekarang, masuk ke   folder app/Http/Middleware dan buka  file BlockIpMiddleware.php. Kemudian perbarui kode berikut ke file BlockIpMiddleware.php Anda :

<?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);
    }
}

Langkah 4: Daftarkan Middleware

Langkah selanjutnya, daftarkan middleware, jadi buka  app/Http/ dan buka file Kernel.php . Dan daftarkan middleware sebagai berikut:

protected $middlewareGroups = [
    'web' => [
        //--------------
        \App\Http\Middleware\BlockIpMiddleware::class,
    ],
    'api' => [
        //--------------
    ],
];

Kesimpulan

Dalam tutorial contoh alamat IP blok laravel ini, Anda telah mempelajari cara memblokir pengguna dengan alamat IP-nya di aplikasi laravel.

block ip address laravel 8 laravel