تحذير: اعتبارًا من الإصدار 57، لن يسمح Chrome بمحتوى ويب خارجي (بما في ذلك الإطارات والنصوص البرمجية المضمّنة) داخل الصفحات التي تم وضعها في وضع الحماية. يُرجى استخدام webview بدلاً من ذلك.
تحدِّد هذه السمة مجموعة من صفحات التطبيقات أو الإضافات التي سيتم عرضها في مساحة محايدة ذات مصدر فريد، وسياسة أمان المحتوى اختياريًا لاستخدامها معها. يؤدي استخدام وضع الحماية إلى تأثيرَين:
- لن تتمكّن الصفحة في وضع الحماية من الوصول إلى واجهات برمجة تطبيقات الإضافات أو التطبيقات، أو الوصول المباشر إلى
الصفحات غير المُدرَجة في وضع الحماية (يمكنها التواصل معها من خلال
postMessage()
). لا تخضع الصفحة التي تم وضعها في بيئة معزولة لسياسة أمان المحتوى (CSP) التي يستخدمها باقي التطبيق أو الإضافة (لديها قيمة CSP منفصلة). وهذا يعني أنّه يمكنها مثلاً استخدام النص البرمجي المضمّن و
eval
.على سبيل المثال، في ما يلي كيفية تحديد أنّه سيتم عرض صفحتَي إضافة في مساحة اختبار باستخدام موفِّر خدمة إدارة المحتوى (CSP) مخصّص:
{ ... "sandbox": { "pages": [ "page1.html", "directory/page2.html" ] // content_security_policy is optional. "content_security_policy": "sandbox allow-scripts; script-src 'self'" ], ... }
إذا لم يتم تحديد قيمة
content_security_policy
، تكون القيمة التلقائية هيsandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';
. يمكنك تحديد قيمة CSP لتقييد مساحة وضع الحماية بشكل أكبر، ولكن يجب أن تحتوي على توجيهsandbox
وقد لا تحتوي على الرمز المميّزallow-same-origin
(اطّلِع على مواصفات HTML5 لمعرفة الرموز المميّزة المحتملة لمساحة وضع الحماية). بالإضافة إلى ذلك، قد لا يسمح ملف CSP الذي تحدّده بتحميل محتوى ويب خارجي داخل الصفحات المحمية.
تجدر الإشارة إلى أنّك تحتاج فقط إلى إدراج الصفحات التي توقّعت أن يتم تحميلها في نوافذ أو إطارات. لا يلزم أن تظهر الموارد
التي تستخدمها الصفحات في وضع الحماية (مثل أوراق الأنماط أو ملفات مصدر JavaScript) في قائمة
sandboxed_page
، إذ ستستخدم وضع الحماية للصفحة التي تضمّنها.
"استخدام دالة eval في إضافات Chrome بأمان"، يقدّم المزيد من التفاصيل حول تنفيذ سير عمل وضع الحماية في مساحة مغلقة يتيح استخدام المكتبات التي قد تواجه مشاكل في التنفيذ بموجب سياسة أمان المحتوى التلقائية للملحق.
لا يمكن تحديد الصفحة في وضع الحماية إلا عند استخدام الإصدار 2 من manifest_version
أو الإصدارات الأحدث.