🔐 Middleware در لاراول
📌 راهی برای فیلتر کردن درخواستهای HTTP
🧠 Middleware چیست؟
Middleware در لاراول فیلترهایی هستند که قبل یا بعد از پردازش درخواست توسط کنترلر اجرا میشوند. میتونن برای:
-
احراز هویت کاربر
-
بررسی نقش و سطح دسترسی
-
تغییر در response یا request
-
لاگگیری و امنیت
استفاده بشن.
🧳 چند Middleware پیشفرض لاراول:
| Middleware | کاربرد |
|---|---|
auth | بررسی ورود کاربر |
guest | فقط مهمانها (کاربران وارد نشده) |
verified | بررسی تایید ایمیل کاربر |
throttle | محدودیت تعداد درخواست (rate limiting) |
csrf | جلوگیری از حملات CSRF |
encrypt_cookies | رمزنگاری کوکیها |
🛠️ استفاده از Middleware در Route
یا برای چند middleware:
🧪 تعریف Middleware سفارشی
۱. ساخت Middleware جدید:
۲. ویرایش کلاس Middleware:
۳. ثبت در app/Http/Kernel.php
در $routeMiddleware اضافه کن:
۴. استفاده در Route:
📦 Middleware گروهی
در Kernel.php، گروههایی مانند web و api تعریف شدهاند:
🎯 Middleware با پارامتر
مثال: محدود کردن تعداد درخواستها
یعنی حداکثر 10 درخواست در هر دقیقه.
🚀 اجرای Middleware بعد از پاسخ (terminate)
در برخی موارد باید بعد از ارسال پاسخ کاری انجام بدی (مثل لاگگیری):
✅ جمعبندی
Middlewareها ابزار قدرتمندی برای مدیریت امنیت، اعتبارسنجی، لاگگیری، و تغییر رفتار برنامه هستند.
لاراول بهطور پیشفرض چندین middleware کاربردی داره، ولی میتونی خیلی راحت middleware خودت رو بسازی.
🔧 چکلیست استفاده از Middleware
-
محافظت از route با
auth -
تعریف Middleware برای نقشها و سطح دسترسی
-
جلوگیری از اسپم با
throttle -
استفاده از
csrfدر فرمها -
استفاده از
terminateبرای لاگگیری