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 |
浏览器兼容性
加载中…