البيان: سياسة أمان المحتوى

مفتاح بيان اختياري يحتوي على سياسة أمان المحتوى للنظام الأساسي للويب التي تحدد القيود المفروضة على النصوص البرمجية والأنماط والموارد الأخرى التي يمكن أن تستخدمها الإضافة. ضمن مفتاح البيان هذا، يمكن تحديد سياسات اختيارية منفصلة لكل من صفحات الإضافات وصفحات الإضافات في وضع الحماية.

"صفحات الإضافات" على سياقات الصفحة والعاملين في الإضافة. يشمل ذلك النافذة المنبثقة للإضافة وعامل الخلفية وعلامات التبويب التي تحتوي على صفحات HTML أو إطارات iframe التي فتحتها الإضافة. تنطبق سياسة وضع الحماية على جميع الصفحات المحدّدة باعتبارها صفحة وضع الحماية في البيان.

السياسة التلقائية

إذا لم يحدّد المستخدم سياسة أمان المحتوى في البيان، سيتم استخدام السمات التلقائية لكل من صفحات الإضافات وصفحات الإضافات التي تم وضع الحماية لها.

تعادل هذه الإعدادات التلقائية تحديد السياسات التالية في ملف البيان:

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self'; object-src 'self';",
    "sandbox": "sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';"
  }
  // ...
}

في هذه الحالة، لن تُحمِّل الإضافة إلا النصوص البرمجية والكائنات المحلية من مواردها المجمّعة. سيتم إيقاف WebAssembly، ولن تعمل الإضافة على تشغيل JavaScript مضمّنة، ولن تتمكن من تقييم السلاسل كرمز برمجي قابل للتنفيذ. إذا تمت إضافة صفحة وضع الحماية، فسيكون لها أذونات أكثر مرونة لتقييم النصوص البرمجية من خارج الإضافة.

الحد الأدنى من سياسات أمان المحتوى المخصصة والمخصصة

يمكن للمطوّرين إضافة قواعد للإضافة أو إزالتها أو استخدام سياسة الحد الأدنى المطلوب لأمان المحتوى لتلبية احتياجات مشاريعهم.

سياسة صفحات الإضافات

يفرض Chrome سياسة الحد الأدنى لأمان المحتوى على صفحات الإضافات. يعادل ذلك تحديد السياسة التالية في البيان:

{
  // ...
  "content_security_policy": {
    "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
  }
  // ...
}

لا يمكن تخفيف سياسة extension_pages إلى أكثر من هذا الحدّ الأدنى. بمعنى آخر، لا يمكنك إضافة مصادر نصوص برمجية أخرى إلى التوجيهات، مثل إضافة 'unsafe-eval' إلى script-src. إذا أضفت مصدرًا غير مسموح به إلى سياسة الإضافة، سيعرض Chrome رسالة خطأ مثل هذا أثناء التثبيت:

'content_security_policy.extension_pages': Insecure CSP value "'unsafe-eval'" in directive 'script-src'.

سياسة صفحات وضع الحماية

السياسة التلقائية للصفحات التي تم وضع الحماية لها أكثر تساهلاً من تلك التي تستخدمها صفحات الإضافات، نظرًا لأن صفحة وضع الحماية لا يمكنها الوصول إلى واجهات برمجة تطبيقات الإضافات أو الوصول المباشر إلى الصفحات التي لا تتضمن وضع الحماية. يمكن تخصيص سياسة أمان المحتوى في وضع الحماية حسب الحاجة.