定義要在沙箱專屬來源中提供的擴充功能頁面集合。
擴充功能的沙箱網頁使用的內容安全政策是由
"content_security_policy"
鍵。
進入沙箱有兩個影響:
- 沙箱頁面無法存取擴充功能 API,也無法直接存取
非採用沙箱機制的網頁 (可能會透過
postMessage()
與網頁通訊)。 - 採用沙箱機制的網頁不受其他網域使用的內容安全政策 (CSP) 規範。
擴充功能 (有專屬的 CSP 值)。也就是說
使用內嵌指令碼和
eval()
。
以下範例說明如何指定在含有 自訂 CSP:
{
...
"content_security_policy": {
"sandbox": "sandbox allow-scripts; script-src 'self' https://example.com"
},
"sandbox": {
"pages": [
"page1.html",
"directory/page2.html"
]
},
...
}
如未指定,則預設的 "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
可能的沙箱權杖的規格)。
請注意,您只需要列出預期會在視窗或頁框中載入的網頁。資源
沙箱頁面 (例如樣式表或 JavaScript 來源檔案) 不需要顯示在
pages
清單,因為它們會使用嵌入這些影格的沙箱機制。
「在 Chrome 擴充功能中使用 eval()」進一步瞭解 沙箱工作流程,啟用後,就無法在 擴充功能的預設內容安全政策。