【发布时间】:2020-12-12 20:09:46
【问题描述】:
我正在我的网站上实施内容安全政策。我目前有 首屏 内容的页面 css,以“取悦”Google 见解并为最终用户创建一个加载速度更快的网站。 Google 还为 首屏 内容推荐页面 CSS,这就是我所做的。
由于内容安全政策禁用了css,这意味着如果我添加它,页面将无法正常显示,所以我不确定该怎么做。看来我有两个选择。
- 完全忘记添加安全内容策略并保持原样。
或者
- 添加安全内容策略并将所有 css 放入外部文件,但这会在 Google 页面洞察中创建“呈现阻止内容”消息,这可能会影响用户点击率和可能的 SEO。
Surley 还有另一种方式???
提前感谢您的所有建议。 埃佐
【问题讨论】:
-
您有第三个选择 - 保留 CSP 并将
'unsafe-inline'或'nonce-value'添加到style-src指令。 -
我可以使用 nonce 解决这个问题,但我很困惑,因为教程说 nonce 是一个“一次性数字”,需要随机生成。我在网站上添加了以下内容,其中 nonce 值是我刚刚编造的。在 html 页面上,我将
-
是的,在每个请求上生成一个新的
nonce非常安全。你甚至可以为add_header in Nginx 做到这一点。或者,您可以使用'sha256-value'('hash-value') 令牌代替'nonce'- 只有在更改<style></style>内容时才需要重新生成它。
标签: css security content-security-policy policy