Rotaları Ara Yazılımla Koruma
Rotaları güvenceye almak ve kullanıcıları yönlendirmek için auth ve guest ara yazılımlarını kullanın.
Rotaları Ara Yazılımla Koruma, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.
Ara Yazılım Nedir
Ara yazılım, bir HTTP isteği denetleyiciye ulaşmadan önce veya ulaştıktan sonra çalışan koddur. Kimlik doğrulama, günlük kaydı, CORS, hız sınırlama ve benzeri işlemler için kullanılır.
Yerleşik Kimlik Doğrulama Ara Yazılımı
auth ara yazılımı, kimliği doğrulanmamış kullanıcıları giriş sayfasına yönlendirir (API istekleri için 401 döndürür).
<?php
Route::get("/dashboard", [DashboardController::class, "index"])
->middleware("auth");Gruplara Ara Yazılım Uygulama
Bir rota grubunun tamamını tek seferde koruyun.
<?php
Route::middleware(["auth", "verified"])->group(function () {
Route::get("/dashboard", [DashboardController::class, "index"]);
Route::get("/profile", [ProfileController::class, "show"]);
});guest Ara Yazılımı
guest ara yazılımı, kimliği doğrulanmış kullanıcıları giriş ve kayıt sayfalarından uzaklaştırır.
<?php
Route::middleware("guest")->group(function () {
Route::get("/login", [LoginController::class, "create"]);
Route::get("/register", [RegisterController::class, "create"]);
});Özel Ara Yazılım Oluşturma
Artisan ile oluşturun ve handle() yöntemini uygulayın.
$ php artisan make:middleware EnsureSubscribedÖzel Ara Yazılım Mantığı
Devam etmek için sonraki isteği döndürün veya işlemi durdurmak için bir yanıt döndürün.
<?php
public function handle(Request $request, Closure $next): Response
{
if (!$request->user()?->isSubscribed()) {
return redirect("/subscribe");
}
return $next($request);
}Ara Yazılım Kaydetme
Ara yazılım takma adlarını app/Http/Kernel.php (Laravel 10) veya bootstrap/app.php (Laravel 11 ve üzeri) içinde kaydedin.
<?php
// Laravel 11+ bootstrap/app.php:
->withMiddleware(function (Middleware $m) {
$m->alias(["subscribed" => EnsureSubscribed::class]);
})Ara Yazılım Parametreleri
İki nokta kullanarak ara yazılıma parametre aktarın.
<?php
Route::middleware("role:admin")->group(function () {
// ...
});
// In middleware handle():
public function handle(Request $request, Closure $next, string $role): ResponseSonraki Ara Yazılım
$next($request) sonrasındaki kod, yanıt oluşturulduktan sonra çalışır; günlük kaydı ve yanıtı değiştirme işlemleri için kullanışlıdır.
<?php
public function handle(Request $request, Closure $next): Response
{
$response = $next($request); // controller runs here
$response->headers->set("X-App", "Laravel");
return $response;
}Ara Yazılım Önceliği
Ara yazılımların çalışma sırası önemlidir. Genel ara yazılımlar (örneğin TrimStrings), rota ara yazılımlarından önce çalışır.
Hız Sınırlama Ara Yazılımı
Laravel, throttle ara yazılımı aracılığıyla hız sınırlama özelliği içerir.
<?php
Route::middleware("throttle:60,1")->group(function () {
// 60 requests per 1 minute
});Özet
Ara yazılım, HTTP isteklerini filtreler. Rotaları korumak için auth uygulayın, iş kuralları için özel ara yazılım oluşturun ve ara yazılımı temiz bir şekilde paylaşmak için rotaları gruplandırın.
Hızlı Kontrol
auth ara yazılımı, kimliği doğrulanmamış kullanıcılar için ne yapar?
Sıkça Sorulan Sorular
“Rotaları Ara Yazılımla Koruma” dersi ücretsiz mi?
Evet — “Rotaları Ara Yazılımla Koruma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.
“Rotaları Ara Yazılımla Koruma” dersinde ne öğreneceğim?
Rotaları güvenceye almak ve kullanıcıları yönlendirmek için auth ve guest ara yazılımlarını kullanın. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
PHP Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Rotaları Ara Yazılımla Koruma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Laravel Breeze ile Kimlik Doğrulama
- Rotaları Ara Yazılımla Koruma
- Gates: Basit Yetkilendirme Denetimleri
- Policy'ler: Model Tabanlı Yetkilendirme