在我的页面上,我给出了层次结构:
Page - http://179.15.31.103/path
|- frame - //proxy.domain.training/path
|- frame - https://app.domain.training/path
内部框架带有给定的标题
Content-Security-Policy:frame-ancestors app.domain.training proxy.domain.training domain.training *.domain.training 179.15.31.103
看起来一切都是正确的,但我在chrome中遇到了这样的错误(ff中也有错误):
拒绝展示https://app.domain.training/path'在帧中,因为祖先违反以下内容安全策略指令:“帧祖先app.domain.training proxy.domain.training domain.training*.domain.training 179.15.31.103”。
我认为这可能是因为https,但我无法检查它。
我建议将URL方案放在您的Content-Security-策略
标头中的域之前。您可能最终不得不两次指定域来覆盖超文本传输协议
和https
,但它似乎确实解决了问题。
我面临着类似的问题;如果父页面是通过普通的http
提供的,而iframed页面是通过包含父域但没有URL方案的CSP头提供的,Firefox和Chrome都会给出您引用的错误。
我在Pale Moon(Firefox叉子)的发行说明中找到了关于为什么会发生这种情况的最大线索:
26.5.0(2016-09-28)修复/更改:
实施了突破性的CSP(内容安全策略)规范更改;当通过http加载带有CSP的页面时,Pale Moon现在会将CSP指令解释为也包括CSP中列出的主机的https版本(如果未明确列出方案(http/https))。这与CSP1.0不同,后者限制性更强,不允许这种跨协议访问,但与CSP2一致,后者允许这种访问。
https://www.palemoon.org/releasenotes-archived.shtml
然而,Pale Moon 26.5.0的行为似乎仍然与Firefox和Chrome类似。
斯科特·赫尔姆也在博客上讨论了Safari的类似问题,但听起来现在这个问题已经解决了。
另一件需要注意的事情是框架页面是否也提供X-Frame-Options
标头。我相信火狐和Safari是唯一支持这个标题和CSP的框架祖先标题的浏览器,当然在火狐的例子中,X-Frame-Options似乎占据了优先地位。使用X-Frame-Options ALLOW-from
,您只允许指定一个URI,因此您可能需要根据您的需要为不同的浏览器更改标题。
内容安全策略 CSP(Content Security Policy)即内容安全策略,主要目标是减少、并有效报告 XSS 攻击,其实质就是让开发者定制一份白名单,告诉浏览器允许加载、执行的外部资源。即使攻击者能够发现可从中注入脚本的漏洞,由于脚本不在白名单之列,浏览器也不会执行该脚本,从而降低客户端遭受 XSS 攻击风险。 默认配置下,CSP 甚至不允许执行内联代码 (<script> 块内容,内
CSP(内容安全策略) CSP(Content Security Policy) 即内容安全策略,主要目标是减少、并有效报告 XSS 攻击,其实质就是让开发者定制一份白名单,告诉浏览器允许加载、执行的外部资源。即使攻击者能够发现可从中注入脚本的漏洞,由于脚本不在白名单之列,浏览器也不会执行该脚本,从而达到了降低客户端遭受 XSS 攻击风险和影响的目的。 默认配置下,CSP 甚至不允许执行内联代码
所以我一直在尝试使用一个谷歌可编程搜索引擎脚本,但我在元标记方面遇到了问题。我在my中包含的meta标记如下所示: 但是,我仍然收到一个错误,告诉我它拒绝加载脚本,因为它违反了“内容安全策略指令:“script src'self'” 我想知道它是否从其他地方继承了一些设置,因为它不接受我正在设置的新脚本src,但是如果我将其设置为“无”,它会接受新脚本src。 顺便说一下,我对html非常陌生,所
问题内容: 我在开发人员控制台中收到很多错误: 拒绝评估字符串 拒绝执行内联脚本,因为它违反了以下内容安全策略指令 拒绝加载脚本 拒绝加载样式表 这是怎么回事?内容安全策略如何工作?如何使用HTTP标头? 具体来说,如何… …允许多个来源? …使用不同的指令? …使用多个指令? …处理端口? …处理不同的协议? …允许的协议? …使用内联样式,脚本和标签以及? …允许吗? 最后: 到底是什么意思?
我正在从chargebee.com加载外部脚本,并在控制台中收到此错误消息: [仅报告]拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script src'nonce VVZ V0c=''self'https://maps.googleapis.com https://domain.chargebeestatic.com http://dgkxwewtzsnml.cloudfront.ne
我想使用javascript访问一个网站。但我在控制台中遇到以下错误。 拒绝连接到'https://example.com'因为它违反了以下内容安全策略指令:“default src'self'”。请注意,未显式设置“connect src”,因此使用“default src”作为回退。 我在index.html中添加了以下meta标记, 元超文本传输协议-Equiv="内容-安全-策略"内容="