为什么这个简单的应用会引发此错误?

问题描述

尽我所能,最后我在这里求助于专家意见。

对于像您这样的人来说,这不是一个复杂的问题。非常确定这对您来说很简单!

屏幕上的错误信息如下

enter image description here

以下是该应用具有的元标记

<Meta http-equiv="Content-Security-Policy"
    content="default-src 'none'; connect-src 'self';font-src 'self'; img-src 'self' data: https:; style-src 'self' ; script-src 'self'">

试图找到favicon.ico,但找不到任何内容

我的头在旋转!

期待您的帮助!

感谢吨!

解决方法

<meta http-equiv="Content-Security-Policy"
    content="default-src 'none'; connect-src 'self';font-src 'self'; img-src 'self' data: https:; style-src 'self' ; script-src 'self'">

看到此代码:

  1. 您已设置default-src 'none'并用img-src 'self' data: https:覆盖。
  2. 但是使用的协议是http
,

您显示的CSP确实包含img-src,因此Chrome控制台发出警告,表示该CSP不在页面上起作用,但是在页面上却在充当另一个CSP。

看起来您的应用确实在某处发布了默认CSP,并且此CSP不包含img-src指令。

因此,您确实同时拥有2个CSP,在这种情况下,限制性更强。

检查第二个<meta http-equiv="Content-Security-Policy"标签(在HTML代码中)或HTTP标头内容安全策略(在开发工具中)是否存在。

或者您可以删除您的:

<meta http-equiv="Content-Security-Policy"
    content="default-src 'none'; connect-src 'self';font-src 'self'; img-src 'self' data: https:; style-src 'self' ; script-src 'self'">

并看到由于第二个CSP而在Chrome控制台中仍然存在同样的警告。

已更新:经过一些研究,发现上述情况为real reason of /favicon blocking