拒绝框架'',因为它违反了以下内容安全策略指令:“frame-src *”

拒绝框架'',因为它违反了以下内容安全策略指令:“frame-src *”

我已经找到了许多解决因内容安全策略设置而导致“拒绝 xyz”的各种情况的解决方案。

然而,我似乎找不到''被拒绝可能是什么问题。

浏览器中的文字错误消息是

Refused to frame '' because it violates the following Content Security Policy directive: "frame-src *".

这只发生在 Chrome 中。在 Firefox 或 Internet Explorer 中加载页面则正常。

我设置了以下 CSP(这实际上只有一行。为了便于阅读,我添加了新行):

default-src 'self';
script-src 'self' 'unsafe-inline' 'unsafe-eval';
style-src 'self' 'unsafe-inline';
img-src 'self' data:;
frame-src 'self' *;
object-src 'none';
font-src 'self' data:;

现在我的理解是*“一切”。Chrome 为何对我如此冷漠?

旁注:我们已经评估过如何移除它'unsafe-inline''unsafe-eval'但目前还不能。如果这可能导致我的问题,请指出原因。否则,我知道这是一个安全隐患,我们正​​在努力移除它。目前它还留在这里。

设置:Web 服务器是 Apache:

# rpm -q httpd
httpd-2.4.6-80.el7.centos.1.x86_64

编辑1 尝试从网站内打开客户端的邮件程序时发生错误。用户点击链接后邮件程序应该会打开。

这可能就是为什么 Chrome 显示空字符串 ( '') 作为被阻止的内容。

答案1

今天遇到了同样的问题。我通过使用以下方法解决了它

frame-src data:

顺便说一句。'*' 只是 URL 的通配符。数据:“unsafe-inline”和“unsafe-eval”必须单独添加。

相关内容