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