问题描述
拒绝,因为它违反了以下内容安全策略指令适用内嵌样式:“风格的src '自我' 'SHA256-UTjtaAWWTyzFjRKbltk24jHijlTbP20C1GUYaWPqg7E =' 'SHA256-lAjyGSIzNSfpcl56itQltlKnBClAWcbXqXwsWgwPBDM =' 'SHA256-IQ1w928Id2I18HopWjf2QH1yWRabHjMmdIigddkJsjk ='“SHA256,gx2qS9lINA9HjEhSBFaGgUjlVL1GCqJxyGoHpGODeo8 =''sha256-nFZFLbV913URty3kcgmuV3NUKJUM9TYhEZ + OkHy6DxU =''sha256-xfnLUXCYTisGE0l0rOaR + OgO5EG + uV25p4QNcjB5dWg ='sha256-TUXjxY + A / YW'Y / YB'Y / YK'y / YK'y / YB'Yy's要么使用'unsafe-inline'关键字,要么使用一个哈希('sha256-gx2qS9lINA9HjEhSBFaGgUjlVL1GCqJxyGoHpGODeo8 =')或一个随机数('nonce -...')来启用嵌入式执行。
但是请注意,它要我添加的哈希值已经存在。
使用最新的Chrome。
我的CSP标头有什么问题?
解决方法
您被一个棘手的方式抓住了。内联样式有2种:
- -支持'hash-value'令牌
- -不支持'hash-value'令牌
但是Chrome会为这两个都计算sha256值,因为它准备支持'不安全哈希'令牌(但尚未实现是{{3} },抱歉)。
Chrome的控制台消息在以上两种样式之间没有区别,都被认为是内联的。
因此,您在HTML代码中的某个地方在标记中有一个内联样式(第2段)。 Chrome为此计算了sha256哈希,并在控制台中发出了警告。您可以将此哈希添加到CSP,但仍会发出警告,因为代码中的样式已被阻止-不能通过'hash-value'来允许。