对 Google 字体文件应用 CSP 策略时出现问题

问题描述 投票:0回答:1

我正在 Django 网站上工作(从版本 2 升级到版本 4),我必须在其中应用内容安全策略。 在其他项目中,我使用项目设置使用

django-csp
完成此操作,但在本例中,我仅将
'csp.middleware.CSPMiddleware',
添加到
MIDDLEWARE
设置,并且所有 CSP 均由
<meta http-equiv="Content-Security-Policy" ...
标签完成。这是第一个奇怪的事情。

渲染后我的主页代码如下所示:

错误是:

Refused to load the stylesheet 'https://fonts.googleapis.com/css?family=Roboto:wght@300' because it violates the following Content Security Policy directive: "default-src 'self' 'nonce-d0R7xtS9JR5LNg6UqQ5FCg=='". Note that 'style-src-elem' was not explicitly set, so 'default-src' is used as a fallback.

第二个奇怪的事情是我设置了

style-src-elem
,但是错误说我没有设置。

以及来自 DevTools 的信息:

为什么被屏蔽?
字体可以在这里
找到 我使用了 Google 字体上官方 CSP 网站的提示here,一切似乎都正常,但问题仍然存在。

django content-security-policy
1个回答
0
投票

定义多个策略时,内容需要传递所有策略。您在meta中设置了5个不同的策略,并且错误消息中提到的策略不在其中,这意味着它作为响应标头。您将需要修改/删除作为响应标头提供的策略。合并为一项组合策略也可能是件好事,最好避免使用元。

© www.soinside.com 2019 - 2024. All rights reserved.