Content-Security-Policy: sandbox 指令
HTTP Content-Security-Policy (CSP) sandbox 指令為請求的資源啟用沙盒,類似於 <iframe> 的 sandbox 屬性。它對頁面的行為施加限制,包括阻止彈出視窗、阻止外掛和指令碼的執行以及強制實施同源策略。
| CSP 版本 | 1.1 / 2 |
|---|---|
| 指令型別 | 文件指令 |
此指令在 <meta> 元素中不受支援,也不受 Content-Security-policy-Report-Only 標頭欄位的支援。 |
|
語法
Content-Security-Policy: sandbox;
Content-Security-Policy: sandbox <value>;
其中 <value> 可以是以下可選值之一
allow-downloads-
允許透過帶有 download 屬性的
<a>或<area>元素下載檔案,以及透過導致檔案下載的導航來下載檔案。無論使用者是否單擊連結,或者 JS 程式碼在沒有使用者互動的情況下啟動下載,這都有效。 allow-forms-
允許頁面提交表單。如果未使用此關鍵字,表單將正常顯示,但提交它不會觸發輸入驗證、向 Web 伺服器傳送資料或關閉對話方塊。
allow-modals-
允許頁面透過
Window.alert()、Window.confirm()、Window.print()和Window.prompt()開啟模態視窗,而<dialog>的開啟則不受此關鍵字的限制。它還允許頁面接收BeforeUnloadEvent事件。 allow-orientation-lock-
允許資源鎖定螢幕方向。
allow-pointer-lock-
允許頁面使用 Pointer Lock API。
allow-popups-
允許彈出視窗(例如,由
Window.open()或target="_blank"建立)。如果未使用此關鍵字,彈出視窗將靜默失敗。 allow-popups-to-escape-sandbox-
允許沙盒文件開啟新視窗,而無需對其強制執行沙盒標誌。例如,這將允許第三方廣告被安全沙盒化,而無需對廣告連結到的頁面強制執行相同的限制。
allow-presentation-
允許嵌入器控制 iframe 是否可以啟動演示會話。
allow-same-origin-
允許沙盒資源保留其來源。否則,沙盒資源將被視為來自不透明來源,這確保它將始終無法透過同源策略檢查,因此無法訪問
localstorage和document.cookie以及某些 JavaScript API。沒有allow-same-origin關鍵字的沙盒資源的Origin為null。 allow-scripts-
允許頁面執行指令碼(但不建立彈出視窗)。如果未使用此關鍵字,則不允許此操作。
allow-storage-access-by-user-activation實驗性-
允許資源使用 Storage Access API 請求訪問父級的儲存功能。
-
允許資源導航頂級瀏覽上下文(即名為
_top的上下文)。 -
允許資源導航頂級瀏覽上下文,但僅限於使用者手勢發起時。
-
允許導航到瀏覽器內建的或網站註冊的非
http協議。此功能也會被allow-popups或allow-top-navigation關鍵字啟用。
注意: allow-top-navigation 和相關值僅對嵌入式文件(例如子 iframe)有意義。對於獨立文件,這些值不起作用,因為頂級瀏覽上下文就是文件本身。
示例
Content-Security-Policy: sandbox allow-scripts;
規範
| 規範 |
|---|
| 內容安全策略級別 3 # directive-sandbox |
瀏覽器相容性
載入中…