【问题标题】:CSP Errors Help - Refused to frame 'REDACTED' because it violates the following Content Security Policy directiveCSP 错误帮助 - 拒绝构建“已编辑”,因为它违反了以下内容安全策略指令
【发布时间】:2021-08-26 16:56:53
【问题描述】:

在我的网站上,我开始看到所有小部件都消失了,并且出现了这个错误,

拒绝构建“WEBSITE_URL”,因为它违反了以下内容安全策略指令:“default-src 'self'”。请注意,'frame-src' 没有显式设置,因此 'default-src' 用作后备。

还有这个:

拒绝加载脚本“https://cdn.ywxi.net/js/1.js”,因为它违反了以下内容安全策略指令:“script-src 'self'”。请注意,'script-src-elem' 没有显式设置,因此 'script-src' 用作备用。

知道如何使用元标记来实现这一点吗?我使用 OpenLiteSpeed 作为 Web 服务器,这是 Express EJS

【问题讨论】:

  • 一段好的旧代码对我们帮助你很有帮助
  • 嘿,你需要什么代码,我没有任何 CSP 代码,我尝试过但失败的是:html <meta http-equiv="Content-Security-Policy" content="script-src 'unsafe-inline'; style-src 'unsafe-inline'"> html <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' https://URL/* 'unsafe-inline'; script-src 'self' https://cdn.ywxi.net/js/1.js 'unsafe-inline'" />
  • 我猜 iframe 的内容是不受您控制的第三方网站,对吗?如果是这样,它就停止工作了,因为他们专门添加了 CSP 规则来防止人们做你正在做的事情。将 CSP 标签添加到您自己的网站将控制其他人是否可以构建 您的 网站,它不会授予您访问他们的网站的权限。如果 ywxi.net 在您的控制之下,那么您需要添加 CSP 规则以允许您从不同的域对其进行框架化。
  • 但那是一个仅适用于网站的网站小部件,我知道您的意思是他们可以禁止人们使用带有 iframe 的网站,但他们不会这样做,因为这就是该服务的用途......

标签: html content-security-policy meta


【解决方案1】:

知道如何使用元标记来实现这一点吗?

既然你说在评论中暗示你在<meta> 标签中没有任何 CSP 规则:你不能。

您需要找到设置Content-Security-Policy HTTP响应标头的代码(可能在您的服务器端编程中,可能在您的Web服务器配置中,可能在您的边缘服务器缓存配置中)并改变它。

HTTP 标头胜过 <meta> 标记。

【讨论】:

  • 我正在使用 OpenLiteSpeed,并且在虚拟主机或侦听器中没有任何地方可以设置标头,因为这实际上只是使用的前几周,我需要联系那里的支持人员,感谢您的支持
  • 奇怪的是,使用服务器的任何其他站点都显示一切正常并且没有 CSP 策略,但是这个没有任何其他插件的站点只是 Express Route 显示它具有 CSP,然后使用 .html 没有 Express 的静态它也很好用,所以我真的被困在这里了......
猜你喜欢
  • 2020-06-23
  • 2012-11-27
  • 2015-09-21
  • 1970-01-01
  • 2021-04-22
  • 1970-01-01
  • 1970-01-01
  • 2017-05-24
相关资源
最近更新 更多