如何"avoid" 内容安全策略?

How to "avoid" Content Security Policy?

我在一家公司工作,担任外部研究员。他们给了我一个 vpn、rsa 令牌和凭证来访问他们的在线门户,其中包含他们项目的网页。我正在构建一个 Flask 应用程序,我想将他们的页面嵌入到一个框架中,但 CSP 拒绝了此操作。目前此工具在 运行 本地,我永远不会将其放在他们的生产或测试服务器上。在框架中,出现一条消息而不是页面内容,内容为:

Blocked by Content Security Policy: this page has a content security police that prevents it from being loaded in this way. Firefox prevented this page from loading in this way because the page has a content security policy that disallow it.

而控制台消息显示:

Content Security Policy: Ignoring 'x-frame-options' because of 'frame-ancestors' directive

我对 CSP 没有信心,我只是阅读了几页有关该主题的内容。由于我可以通过浏览器访问他们的页面(就像该工具的所有未来用户一样),是否有任何解决方案可以将这些页面嵌入到框架中?

CSP 由您自己的浏览器强制执行。有一些浏览器插件可以为您的浏览器禁用 CSP。例如:

https://chrome.google.com/webstore/detail/disable-content-security/ieelmcmcagommplceebfedjlakkhpden

...尽管在您的情况下,即使您关闭 CSP,您也可能 运行 与 x-frame-options header

发生冲突

您需要请求他们允许您的项目 URL/IP 使用 frame-src,例如:

<meta http-equiv="Content-Security-Policy" content="frame-src 'self' *.YourProjectURL.com;">