如何将包含“+”的 SHA 哈希添加到内容安全策略 HTTP 标头

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

我已将哈希值“sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=”添加到网站上的 CSP 标头中,仅供 Google Chrome 告诉我添加相同的哈希值:

拒绝应用内联样式,因为它违反了以下规定 内容安全策略指令:“style-src 'self' 'sha256-wIuuK5ba7OAcKAanTmQNfXsquALURJjbDNey9fYOgrk=' 'sha256-bBHvtUsahvK4AUK9cudfQY9aAj/W36/whyrS/FEv5mg=' 'sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=' 'sha256-URnF06gx6Q3vkDUa9InSpaMLXZIlvzLk9Vk3fkMetU0='"。要么 'unsafe-inline' 关键字,哈希值 ('sha256-47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='),或 需要 nonce ('nonce-...') 才能启用内联执行。

我的猜测是这与哈希值中的 + 有关,因为 Chrome 不会抱怨其他哈希值。我尝试在标头中将 + 替换为 %2B,但这会导致 Chrome 告诉我哈希值无效并将被忽略。

如何添加此哈希以便 Chrome 识别它?

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

我已经回答了关于另一个威胁的问题:https://stackoverflow.com/a/78173044/1366708

看起来这是 Chromium 官方跟踪的一个错误。您可以在这里找到链接:https://issues.chromium.org/issues/41211258?pli=1这确实很烦人。我们无法使用此安全标头或功能。使用

unsafe-inline
将会破坏“内容安全策略”的所有好处,您可以尝试“
unsafe-hashes
”,它的邪恶性较小。我认为目前我们还没有内联 java 脚本的解决方案。

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