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和端口号。必须用单引号设置。有些浏览器会从源指令中排除blobfilesystem。需要允许这些内容类型的站点可以通过Data属性指定它们。
'none'
指向一个空集,意味着没有URL会被匹配。也需要单引号包裹设置。

Examples

Content-Security-Policy: frame-ancestors 'none';

Specifications

SpecificationStatusComment
Content Security Policy Level 3
frame-ancestors
Working DraftNo changes.
Content Security Policy Level 2
frame-ancestors
RecommendationInitial definition.

Browser compatibility

No compatibility data found. Please contribute data for "http.headers.csp.frame-ancestors" (depth: 1) to the MDN compatibility data repository.

See also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:82 次

字数:8499

最后编辑:8年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文