【发布时间】:2020-01-25 15:05:38
【问题描述】:
我在一家公司担任外部研究员。他们给了我一个 vpn、rsa 令牌和凭据来访问他们的在线门户网站,其中包含他们项目的网页。我正在构建一个 Flask 应用程序,我想将他们的页面嵌入到框架中,但 CSP 拒绝此操作。目前这个工具在本地运行,我永远不会把它放在他们的生产或测试服务器上。在框架中,出现一条消息而不是页面内容,内容是:
被内容安全策略阻止:此页面有一个内容安全策略阻止它以这种方式加载。 Firefox 阻止此页面以这种方式加载,因为该页面的内容安全策略不允许它。
当控制台消息显示:
Content Security Policy: Ignoring 'x-frame-options' because of 'frame-ancestors' directive
我对 CSP 没有信心,我只是阅读了有关该主题的几页。由于我可以通过浏览器访问他们的页面(就像该工具的所有未来用户一样),是否有任何解决方案可以将这些页面嵌入框架中?
【问题讨论】:
-
你目前有哪些帧头?
-
只是基本的
-
你有 Frame-src: self 吗?
-
不,正如我所说,自 2 小时前以来我从未见过任何有关 csp 的信息。
-
没有办法避免。如果他们的文档带有 Content-Security-Policy 标头,并且带有 frame-ancestors 指令,禁止将他们的文档嵌入到其他来源的框架中,那么您无法覆盖它。您可以更改该行为的唯一方法是要求他们更改其 Content-Security-Policy 标头的值,以允许从您的源提供的文档将其文档嵌入框架中。 (另请注意:您在原点进行的 CORS 更改或他们在原点进行的任何 CORS 更改都不会产生任何影响。这与 CORS 无关。)
标签: python jquery html flask content-security-policy