首页 > 解决方案 > 框架的内容安全策略。框架源与框架祖先

问题描述

具体做什么frame-srcframe-ancestors做什么?该定义显示为两个指令定义框架的有效内容的目的相同。什么时候用哪一个?我能够在使用中加载外部域内容iframe-

  1. frame-ancestorsdefault-src规则
  2. frame-src

两者都在工作,但无法获得正确的用例。

标签: content-security-policy

解决方案


default-srcframe-ancestorsframe-src都是Content-Security-Policy 响应标头的一部分。

帧源

限制可以在iframe.

HTTP Content-Security-Policy (CSP)指令为使用和frame-src等元素加载的嵌套浏览上下文指定有效源。<frame><iframe>

例如:如果网站https://example.com的响应头为Content-Security-Policy: frame-src 'self',则它只能https://example.com在内部加载iframes

框架祖先

限制可以从一个iframe(类似于X-Frame-Options标题,但优先于它)加载哪些域和页面。

HTTP Content-Security-Policy (CSP)frame-ancestors指令指定可以使用<frame><iframe><object><embed>或嵌入页面的有效父级<applet>

例如:如果网站 athttps://example.com的响应头为Content-Security-Policy: frame-ancestors 'self',则只能从内部加载iframeshttps://example.com

默认源

充当任何未显式设置的 fetch 指令的默认值(这里是所有 fetch 指令的列表

HTTP Content-Security-Policy (CSP)default-src指令用作其他 CSP 提取指令的后备。对于以下每个不存在的指令,用户代理将查找该default-src指令并将其使用此值。

例如: Content-Security-Policy: default-src 'self'将默认'self'为所有 fetch 指令的值。其他指令将不受影响。

注意:由于frame-ancestors不是 fetch 指令,因此设置default-src不会限制它。需要单独设置。


推荐阅读