Middleware في البرمجة واستخداماتها العملية

x32x01
  • بواسطة x32x01 ||
  • #1

سؤال انترفيو: يعني إيه Middleware؟ 🤔​

من أكتر أسئلة الانترفيو اللي بتيجي لأي Backend Developer 👇
يعني إيه Middleware؟

الإجابة ببساطة: Middleware هي طبقات أو فلاتر بتمر عليها الـ Request قبل ما توصل للـ Controller، وأحيانًا بعد ما الـ Response يطلع منه.
📌 تخيّلها زي حراس أمن أي طلب داخل التطبيق لازم يعدّي عليهم الأول 👮‍♂️



استخدامات Middleware غير الـ Auth 🔐❌​

ناس كتير فاكرة إن الـ Middleware شغلتها بس المصادقة (Auth) بس الحقيقة؟ استخداماتها أوسع بكتير جدًا 🔥
خلّينا نشوف أهم الاستخدامات العملية 👇



تنقية المدخلات (Input Sanitization) ✨​

واحد من أشهر الاستخدامات إنك تعمل Middleware ينضّف الداتا اللي جاية من المستخدم.
زي مثلًا:
  • يشيل المسافات الزيادة
  • يمنع إدخال قيم غريبة

مثال Laravel Middleware:​

PHP:
public function handle($request, Closure $next)
{
    $request->merge(array_map('trim', $request->all()));
    return $next($request);
}
📌 كده أي نص داخل الـ Request هيبقى نضيف قبل ما يوصل للكود الأساسي.



التعامل مع CORS في الـ APIs 🌐​

لو بتشتغل APIs أكيد قابلتك مشكلة CORS 😅 Middleware هنا حل عبقري.
تقدر من خلالها:
  • تسمح بطلبات من Domains معينة
  • تضيف Headers جاهزة

مثال بسيط:​

PHP:
$response = $next($request);
$response->headers->set('Access-Control-Allow-Origin', '*');
$response->headers->set('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
return $response;
📌 مهم جدًا لأي Frontend شغال مع Backend API.



تسجيل الطلبات (Logging) 📝​

محتاج تعرف:
  • مين بعت Request؟
  • إمتى؟
  • على أي Endpoint؟
Middleware تقدر تسجل كل ده بسهولة.
PHP:
Log::info('API Request', [
    'url' => $request->url(),
    'method' => $request->method(),
    'ip' => $request->ip()
]);
📌 مفيد جدًا:
  • في Debugging
  • في Security
  • في مراجعة النشاطات



تحديد لغة التطبيق (Localization) 🌍​

لو التطبيق Multi-language Middleware تقدر تقرأ اللغة من الـ Header وتحدد لغة السيستم.
PHP:
$locale = $request->header('Accept-Language', 'en');
App::setLocale($locale);
📌 كده التطبيق يشتغل تلقائي حسب لغة المستخدم.



تحديد عدد الطلبات (Rate Limiting) 🚫⚡​

من أهم استخدامات الـ Middleware حماية الـ API من:
  • Brute Force
  • Spam
  • استخدام مفرط
Laravel مثلًا بيدعم ده بسهولة.
PHP:
Route::middleware('throttle:60,1')->group(function () {
    Route::get('/api/data', 'ApiController@index');
});
📌 60 Request في الدقيقة لكل User.



وضع الصيانة (Maintenance Mode) 🛠️​

أحيانًا:
  • بتعمل تحديثات
  • بتصلّح Bugs
  • بتعيد هيكلة المشروع
Middleware تقدر:
  • تمنع كل المستخدمين
  • وتسمح للمطورين بس
PHP:
if (!auth()->user() || !auth()->user()->is_admin) {
    abort(503, 'Site under maintenance');
}
📌 تجربة احترافية بدل ما الموقع يقع فجأة.



ليه الـ Middleware مهمة في المشاريع الكبيرة؟ 🧠​

  • بتنضّم الكود
  • بتقلل التكرار
  • بتخلي الـ Controller نضيف
  • بتسهّل الصيانة والتطوير
📌 أي مشروع محترم لازم يستخدم Middleware صح.



الخلاصة 👇🔥​

🔹 الـ Middleware مش بس Auth
🔹 هي قلب التحكم في أي Backend
🔹 بتستخدم في:
  • Security
  • Performance
  • Logging
  • APIs
  • User Experience
لو فهمتها صح؟ هتفرق جامد في شغلك وفي أي انترفيو 💪😎
 

المواضيع ذات الصلة

x32x01
الردود
0
المشاهدات
890
x32x01
x32x01
x32x01
الردود
1
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
174
x32x01
x32x01
x32x01
الردود
0
المشاهدات
279
x32x01
x32x01
x32x01
الردود
0
المشاهدات
685
x32x01
x32x01
الوسوم : الوسوم
api security backend development cors laravel localization logging middleware php rate limiting مصادقة المستخدم
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟

آخر المشاركات

إحصائيات المنتدى
المواضيع
2,388
المشاركات
2,601
أعضاء أكتب كود
574
أخر عضو
الياس
عودة
أعلى