انتقل إلى محتوى الدرس

HTTP Security Headers and CSP رؤوس الأمان وسياسة Content-Security-Policy

اقضِ على ثغرات حقن السكريبتات العابرة للمواقع XSS في PHP 8 باستخدام htmlspecialchars وفحص الروابط ورؤوس الحماية القياسية.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

توجّه رؤوس الأمان في استجابة HTTP المتصفح لتقييد مصادر تحميل السكريبتات ومنع هجمات تخمين نوع المحتوى (MIME Sniffing).

  • يمنع الرأس Content-Security-Policy: default-src 'self' تشغيل السكريبتات المضمنة غير المصرح بها أو المحملة من نطاقات خارجية.
  • يمنع الرأس X-Content-Type-Options: nosniff المتصفح من تنفيذ الملفات النصية أو الصور المرفوعة كأكواد HTML أو JavaScript.
  • يحمي الرأس X-Frame-Options: DENY (أو توجيه frame-ancestors 'none') صفحاتك من هجمات النقر الخادع (Clickjacking).

في تطبيقات PHP الإنتاجية، مرر كل سطر من هذه السياسات إلى الدالة header($line) قبل إرسال أي مخرجات HTML.

PHP
<?php
$headers = [
    "Content-Security-Policy: default-src 'self'; frame-ancestors 'none'",
    "X-Content-Type-Options: nosniff",
    "X-Frame-Options: DENY",
    "Referrer-Policy: strict-origin-when-cross-origin",
];

foreach ($headers as $line) {
    echo $line . "\n";
}