هشدار: از نسخه 57، Chrome دیگر به محتوای وب خارجی (از جمله قابها و اسکریپتهای تعبیهشده) در صفحات جعبه ایمنی اجازه نمیدهد. لطفاً به جای آن از نمای وب استفاده کنید.
مجموعهای از صفحات برنامه یا افزونه را تعریف میکند که قرار است در یک منبع منحصربهفرد جعبهشنودی ارائه شوند، و بهطور اختیاری یک خطمشی امنیت محتوا برای استفاده با آنها. قرار گرفتن در جعبه شنی دو مفهوم دارد:
- یک صفحه سندباکس به APIهای برنامه افزودنی یا برنامهها یا دسترسی مستقیم به صفحات غیر جعبه ایمنی دسترسی نخواهد داشت (ممکن است از طریق
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 تعیین کنید، اما باید دستورالعملsandbox
را داشته باشد و ممکن است نشانههایallow-same-origin
را نداشته باشد ( مشخصات HTML5 را برای نشانههای sandbox احتمالی ببینید). همچنین، CSP که مشخص میکنید ممکن است اجازه بارگیری محتوای وب خارجی را در صفحات sandbox داده ندهد.
توجه داشته باشید که فقط باید صفحاتی را فهرست کنید که انتظار داشتید در ویندوز یا فریم بارگذاری شوند. منابع مورد استفاده توسط صفحات sandboxed (مانند شیوه نامه یا فایل های منبع جاوا اسکریپت) نیازی به نمایش در لیست sandboxed_page
ندارند، آنها از جعبه ایمنی صفحه ای که آنها را جاسازی می کند استفاده می کنند.
"استفاده از eval در برنامه های افزودنی کروم. با خیال راحت." به جزئیات بیشتری در مورد پیادهسازی یک گردش کار sandboxing میپردازد که استفاده از کتابخانههایی را ممکن میسازد که در غیر این صورت در اجرای خطمشی امنیت محتوای پیشفرض برنامه افزودنی با مشکلاتی مواجه میشوند.
صفحه جعبه ایمنی ممکن است فقط هنگام استفاده از manifest_version
2 یا بالاتر مشخص شود.