CSP策略中jQuery内联样式哈希验证失败的解决方法求助
解决CSP中jQuery内联样式被拦截的问题
核心原因
浏览器错误提示已明确说明:哈希默认不适用style属性、事件处理器这类内联代码,必须配合'unsafe-hashes'关键字才能生效。你虽配置了错误提示给出的哈希,但因缺少该关键字,浏览器仍会拦截jQuery生成的内联style属性。
解决方案
修改Content-Security-Policy的style-src指令,添加'unsafe-hashes'关键字:
style-src 'self' https://fonts.googleapis.com 'unsafe-hashes' 'sha256-KJCiag/ONB9TpGaUe4pEzZMHCxZPfqveZBD6JwsDks8=';
补充说明
'unsafe-hashes'并非像'unsafe-inline'那样放开所有内联内容,它仅允许通过哈希信任特定的style属性、事件处理器这类原本哈希不覆盖的内联代码,安全性远高于'unsafe-inline',符合你的安全需求。- 若添加后仍报错,需确认错误提示中的哈希是否与jQuery实际生成的内联样式完全匹配——不同版本的jQuery生成的内联样式可能存在细微差异,需重新计算对应哈希。
内容的提问来源于stack exchange,提问作者Abdulwahab Almestekawy
相关产品推荐
相关产品推荐

