Melindungi Rute dengan Middleware
Gunakan middleware auth dan guest untuk mengamankan rute serta mengarahkan pengguna.
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 EnsureSubscribedLogika 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): ResponsePerangkat 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?
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
- Autentikasi dengan Laravel Breeze
- Melindungi Rute dengan Middleware
- Gate: Pemeriksaan Otorisasi Sederhana
- Policy: Otorisasi Berbasis Model