PHP Academy · Pelajaran

Melindungi Rute dengan Middleware

Gunakan middleware auth dan guest untuk mengamankan rute serta mengarahkan pengguna.

Pelajaran 2 dari 413 langkah

Melindungi Rute dengan Middleware adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.

Apa Itu Perangkat Perantara

Perangkat perantara adalah kode yang berjalan sebelum atau sesudah permintaan HTTP mencapai pengontrol. Perangkat ini digunakan untuk autentikasi, pencatatan, CORS, pembatasan laju, dan sebagainya.

Perangkat Perantara Autentikasi Bawaan

Perangkat perantara auth mengarahkan pengguna yang belum diautentikasi ke halaman masuk (atau mengembalikan 401 untuk permintaan API).

<?php
Route::get("/dashboard", [DashboardController::class, "index"])
    ->middleware("auth");

Menerapkan Perangkat Perantara ke Grup

Lindungi seluruh grup rute sekaligus.

<?php
Route::middleware(["auth", "verified"])->group(function () {
    Route::get("/dashboard", [DashboardController::class, "index"]);
    Route::get("/profile",   [ProfileController::class, "show"]);
});

Perangkat Perantara guest

Perangkat perantara guest mengarahkan pengguna yang telah diautentikasi menjauh dari halaman masuk/pendaftaran.

<?php
Route::middleware("guest")->group(function () {
    Route::get("/login",    [LoginController::class, "create"]);
    Route::get("/register", [RegisterController::class, "create"]);
});

Membuat Perangkat Perantara Khusus

Buat dengan Artisan dan terapkan metode handle().

$ php artisan make:middleware EnsureSubscribed

Logika Perangkat Perantara Khusus

Kembalikan permintaan berikutnya untuk melanjutkan, atau kembalikan respons untuk membatalkannya.

<?php
public function handle(Request $request, Closure $next): Response
{
    if (!$request->user()?->isSubscribed()) {
        return redirect("/subscribe");
    }
    return $next($request);
}

Mendaftarkan Perangkat Perantara

Daftarkan alias perangkat perantara di app/Http/Kernel.php (Laravel 10) atau bootstrap/app.php (Laravel 11+).

<?php
// Laravel 11+ bootstrap/app.php:
->withMiddleware(function (Middleware $m) {
    $m->alias(["subscribed" => EnsureSubscribed::class]);
})

Parameter Perangkat Perantara

Teruskan parameter ke perangkat perantara menggunakan titik dua.

<?php
Route::middleware("role:admin")->group(function () {
    // ...
});
// In middleware handle():
public function handle(Request $request, Closure $next, string $role): Response

Perangkat Perantara Setelahnya

Kode setelah $next($request) berjalan setelah respons dibuat — berguna untuk pencatatan dan modifikasi respons.

<?php
public function handle(Request $request, Closure $next): Response
{
    $response = $next($request); // controller runs here
    $response->headers->set("X-App", "Laravel");
    return $response;
}

Prioritas Perangkat Perantara

Urutan berjalannya perangkat perantara penting. Perangkat perantara global (seperti TrimStrings) berjalan sebelum perangkat perantara rute.

Perangkat Perantara Pembatas Laju

Laravel menyertakan pembatasan laju melalui perangkat perantara throttle.

<?php
Route::middleware("throttle:60,1")->group(function () {
    // 60 requests per 1 minute
});

Ringkasan

Perangkat perantara menyaring permintaan HTTP. Terapkan auth untuk melindungi rute, buat perangkat perantara khusus untuk aturan bisnis, dan kelompokkan rute agar dapat berbagi perangkat perantara dengan rapi.

Pemeriksaan Singkat

Apa yang dilakukan perangkat perantara auth terhadap pengguna yang belum diautentikasi?

Gratis untuk memulai

Belajar PHP dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
49
Pelajaran
195

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Melindungi Rute dengan Middleware” gratis?

Ya — teks lengkap “Melindungi Rute dengan Middleware” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Melindungi Rute dengan Middleware”?

Gunakan middleware auth dan guest untuk mengamankan rute serta mengarahkan pengguna. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai PHP Academy?

Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Melindungi Rute dengan Middleware” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Autentikasi dengan Laravel Breeze
  2. Melindungi Rute dengan Middleware
  3. Gate: Pemeriksaan Otorisasi Sederhana
  4. Policy: Otorisasi Berbasis Model
← Kembali ke PHP Academy