Mengenal Fitur Middleware: Keamanan dalam Framework Laravel

Laravel merupakan salah satu framework PHP yang sedang populer saat ini di Indonesia, dengan menawarkan berbagai fitur yang memudahkan pengembangan aplikasi web. Salah satunya adalah middleware, yang berperan penting dalam mengamankan dan mengontrol akses ke rute-rute dalam aplikasi. Sebelum itu mari kita mengenal siapakah Middleware ini dalam Laravel PHP dan apa manfaatnya?...

Apa Itu Middleware dalam Laravel?

Middleware adalah lapisan perantara antara permintaan route HTTP yang masuk dan action dari Controller yang akan dijalankan. Middleware memungkinkan kita untuk meakukan berbagai tugas baik itu sebelum ataupun sesudah tindakan dilakukan. Kita juga dapat menggunakan tool CLI untuk membuat sebuah Middleware dalam Laravel. Beberapa contoh penggunaan Middleware meliputi autentikasi, validasi, manipulasi permintaan, dan lainnya.

php artisan make:middleware auth

Manfaat dari Middleware dalam Laravel

  • Keamanan : dalam Middleware memungkinkan kita untuk memverifikasi apakah pengguna sudah diautentikasi sebelum mengakses halaman tertentu. Dengan demikian, kita dapat melindungi data sensitif dan mengontrol hak akses pengguna.
  • Pemfilteran Data : Middleware dapat digunakan untuk memanipulasi data permintaan sebelum sebuah action dalam controller dilakukan. Misalnya, kita dapat memeriksa terlebih dahulu data yang dikirim oleh pengguna sebelum data tersebut diproses lebih lanjut atau kita ingin memodifikasi data yang akan dikirim lalu kita dapat memeriksa ulang data yang akan dikirim oleh pengguna sebelum data tersebut diproses.
  • Logging dan Audit : Middleware juga dapat digunakan untuk mencatat aktivitas pengguna atau melakukan audit terhadap permintaan yang masuk. Ini dapat membantu dalam pemantauan dan analisis aplikasi.

Kenali bagaimana bentuk Middleware dalam Framework Laravel

Setelah kita menjelajahi apa itu middleware dan apa manfaat middleware pada Framework Laravel, mari kita kenali bagaimana bentuk Middleware dan bagimana alur pembuatannya..

  • Ketika kita membuat Middleware secara default Middleware akan disimpan pada folder app\Http\Middleware.
MengenalFiturMiddleware_BuildWithAngga
  • Setelah kita membuat middleware hasil yang akan kita dapatkan akan seperti contoh dibawah.
<?php

namespace App\\Http\\Middleware;

use Closure;
use Illuminate\\Http\\Request;

class checkStatus
{
    /**
     * Handle an incoming request.
     *
     * @param  \\Illuminate\\Http\\Request  $request
     * @param  \\Closure(\\Illuminate\\Http\\Request): (\\Illuminate\\Http\\Response|\\Illuminate\\Http\\RedirectResponse)  $next
     * @return \\Illuminate\\Http\\Response|\\Illuminate\\Http\\RedirectResponse
     */
    public function handle(Request $request, Closure $next)
    {
        // code untuk perintah yang akan dilakukan untuk mengatur akses routes
        return $next($request);
    }
}
  • Lalu kita dapat mengisi code untuk perintah menggunakan if clause sebagai contoh kali ini untuk mengecek status user apakah sudah login atau belum jika status ‘0’ atau offline dalam case ini maka akan diarahkan kembali pada halaman login.
//-----------------------------------------------------------------------------------------
// Melakukan Pengecekan apakah user sudah melakukan login dan status user masih 0 (offline) 
   if (Auth::check() && Auth::user()->status === 0) {
       // apabila iya maka user akan logout dan diarahkan pada halaman login kembali
       Auth::logout();
       return redirect('/login');
    }
//-----------------------------------------------------------------------------------------
  • Setelah kita mengisi code untuk perintah yang akan dilakukan kita harus menambahkan middleware dalam kernel.php pada direktori App\Http . kita dapat menambahkannya pada bagian proteced $routeMiddleware = [ ... ].
protected $routeMiddleware = [
        // ...
        'checkStatus' => \\Illuminate\\Auth\\Middleware\\checkStatus::class,
];
  • Lalu langkah terakhir kita dapat menambahkannya dalam route pada direktori routes\web.php
Route::get('/home', function () {
    // ...
})->middleware('checkStatus');

Kesimpulan

Dalam artikel ini, kita telah mendalami konsep Middleware sebagai unsur krusial dalam menjaga keamanan framework Laravel. Pemahaman tentang manfaat dan penerapan Middleware telah diuraikan, sambil menjelaskan fleksibilitas konfigurasi pada tingkat global, grup, atau individual untuk setiap route. Dengan memanfaatkan Middleware, tidak hanya keamanan HTTP Request dapat diperkuat, tetapi juga proses pemfilteran data dan logging/audit dapat dioptimalkan.

Penggunaan Middleware memberikan kemampuan kepada pengembang untuk meningkatkan kehandalan dan keamanan aplikasi Laravel. Tool CLI Laravel turut memberikan efisiensi dalam pembuatan Middleware, memberikan kemudahan dalam tahap pengembangan dan pemeliharaan aplikasi web. Oleh karena itu, pada artikel ini tidak hanya memberikan pemahaman mendalam tentang peran Middleware, tetapi juga menyoroti manfaat praktisnya dalam pengembangan ekosistem Laravel.

Untuk belajar lebih lanjut tentang middleware, Kamu dapat mengikuti kelas belajar online dari Build With Angga (BWA) yang membahas tentang Laravel Middleware. Jangan Lupa untuk terus eksplorasi fitur-fitur Laravel PHP !!!

Rekomendasi Kelas :
Kelas Online Gratis PHP Laravel Web Development | BuildWithAngga
Kelas Online Gratis Belajar Laravel di BuildWithAngga