אזהרה: החל מגרסה 57, Chrome לא יאפשר יותר תוכן אינטרנט חיצוני (כולל מסגרות וסקריפטים מוטמעים) בדפים בארגז חול. במקום זאת, צריך להשתמש ב-webview.
הגדרת אוסף של דפי אפליקציה או תוסף שצריך להציג במקור ייחודי ב-sandbox, ואפשרות להגדיר מדיניות אבטחת תוכן לשימוש בהם. להיות בארגז חול יש שתי השלכות:
- לדף ב-sandbox לא תהיה גישה לממשקי API של תוספים או אפליקציות, או גישה ישירה לדפים שלא נמצאים ב-sandbox (הוא יכול לתקשר איתם דרך
postMessage()
). דף שמופעל בארגז חול לא כפוף למדיניות Content Security (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 שציינתם לא יאפשר טעינת תוכן אינטרנט חיצוני בדפים ב-sandbox.
לתשומת ליבכם: צריך להציג רשימה רק של דפים שציפיתם לטעינה בחלונות או במסגרות. משאבים שבהם נעשה שימוש בדפים בארגז חול (למשל, גיליונות סגנונות או קובצי מקור ב-JavaScript) לא צריכים להופיע ברשימה sandboxed_page
. הם ישתמשו בארגז החול של הדף שמטמיע אותם.
"שימוש ב-eval בתוספים ל-Chrome. בטוח" מספק פרטים נוספים על הטמעה של תהליך עבודה של הרצה בארגז חול שמאפשר שימוש בספריות שאחרת היו עלולות ליצור בעיות בהפעלה בהתאם למדיניות ברירת המחדל של אבטחת תוכן של התוסף.
אפשר לציין דף ב-Sandbox רק כשמשתמשים ב-manifest_version
בגרסה 2 ואילך.