CSP: frame-ancestors - HTTP 编辑
HTTP头部 Content-Security-Policy
(CSP) 中的frame-ancestors
指令指定了一个可以包含<frame>
,<iframe>
,<object>
,<embed>
,or <applet>
等元素的有效父级。
当该指令设置为'none'时,其作用类似于
X-Frame-Options
: DENY
(该头部被一些老版本浏览器所支持)。
CSP版本(CSP version) | 2 |
---|---|
指令类型(Directive type) | Navigation directive |
是否后备使用default-src | 否。如未设置则允许所有可能值。 |
该指令不支持通过<meta> 元素或通过 Content-Security-policy-Report-Only 头域所指定. |
Syntax
frame-ancestors
策略可以设置一个或多个源<source>:
Content-Security-Policy: frame-ancestors <source>; Content-Security-Policy: frame-ancestors <source> <source>;
Sources
<source> 可以是如下内容:
frame-ancestors
指令的语法类似于其他指令的源列表(source list,如default-src
),但不允许'unsafe-eval'或
'unsafe-inline'
。它也不会回退使用default-src
的值。仅有如下的源列表是可用的:
- <host-source>
- 一个Internet主机的名称或IP地址,以及一个可选的URL scheme和/或端口号。这些站点的地址可以包含一个可选的引导通配符(星号,
'*'),或者你可以使用通配符
(同样还是,'*')作为端口地址
,以示这个源的所有合法端口地址都是有效的。
例子:http://*.example.com
: 匹配所有使用http:URL scheme并来对于example.com及其子域名的加载意图。mail.example.com:443
: 匹配所有对于mail.example.com在443端口的访问意图。https://store.example.com
: 匹配所有使用https:访问store.example.com的意图。
- <scheme-source>
- 一个schema配置,比如'http:'或'https:'。注意,冒号是必要的。你同样也可以指定一个data schema(但并不推荐)。
- '
data:
' 允许data:
URIs 作为内容源。 这是不安全的,攻击者可以用此来注入恶意代码。请谨慎使用,并不要令其作用于脚本。 'mediastream:'
允许mediastream:
URIs 作为内容源.'blob:'
允许blob:
URIs 作为内容源.'filesystem:'
允许filesystem:
URIs 作为内容源.
- '
'self'
- 指向一个该受保护文档所在的源,包含同样的URL schema和端口号。必须用单引号设置。有些浏览器会从源指令中排
除blob
和filesystem
。需要允许这些内容类型的站点可以通过Data属性指定它们。 'none'
- 指向一个空集,意味着没有URL会被匹配。也需要单引号包裹设置。
Examples
Content-Security-Policy: frame-ancestors 'none';
Specifications
Specification | Status | Comment |
---|---|---|
Content Security Policy Level 3 frame-ancestors | Working Draft | No changes. |
Content Security Policy Level 2 frame-ancestors | Recommendation | Initial definition. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
No compatibility data found. Please contribute data for "http.headers.csp.frame-ancestors" (depth: 1) to the MDN compatibility data repository.
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论