شرح صفوف ومحتوى الفقرة
تُصنف البرمجية الوسيطة حسب موقع تنفيذ الكود بالنسبة لاستدعاء $next($request) إلى برمجية قبلية أو بعدية. تنفذ البرمجية القبلية فحصها قبل وصول الطلب للمتحكم، بينما تلتقط البرمجية البعدية كائن الاستجابة أولاً لتعديله أو إضافة رؤوس الرسالة إليه.
- البرمجية القبلية (Before Middleware): تفحص الطلب الوارد أولاً وقد تمنعه من الوصول للمتحكم.
- البرمجية البعدية (After Middleware): تنتظر انتهاء المتحكم واستلام الاستجابة ثم تعدلها قبل إرسالها للمتصفح.
- إرفاق الرؤوس الأمنية (Response Headers): تُعد البرمجية البعدية المكان المثالي لإضافة رؤوس الحماية للاستجابات.
PHP
<?php
// After Middleware pattern inside handle():
public function handle(Request $req, Closure $next)
{
$response = $next($req);
$response->headers->set('X-Frame-Options', 'DENY');
return $response;
}