CB = gapi.loaded_0:格式化:2677
n.setAttribute(" style"," position:absolute; width:1px; height:1px; left:-9999px;");
以下是完整的信息:
拒绝应用内联样式,因为它违反了以下内容安全策略指令:" style-src' self' https://apis.google.com' sha256-g1S9hiXQ4j0r + GB1Gi3NXXa9uB + 5dR2H21SD7BToUKg ='"。 “不安全 - 内联”和“不安全”。关键字,哈希(' sha256-WuACXZzzdKkWqck4qh4 / nDEQy6ZpPTP0wGUXa / 3oqT4 =')或nonce(' nonce -...')是启用内联执行所必需的。
我不想启用“不安全 - 内联”。我有什么选择?如上所示,似乎我在style-src指令中只能包含一个sha1哈希。但是,我得到多个内联样式违规,每个都建议使用自己的sha1哈希。可能是我使用错误的语法来包含多个sha1哈希?有什么建议吗?
感谢。
答案 0 :(得分:1)
问题不是你只能指定一个哈希 - 这不是真的。您可以指定更多哈希值,例如
style-src 'self' 'sha256-g1S9hiXQ4j0r+GB1Gi3NXXa9uB+5dR2H21SD7BToUKg=' 'sha256-WuACXZzzdKkWqck4qh4/nDEQy6ZpPTP0wGUXa/3oqT4='
问题是,至少有些浏览器(Chrome,Safari)适用于“shaXXX&#39;仅适用于<style>
个元素的规则,而不是style
个属性。请参阅:https://bugs.chromium.org/p/chromium/issues/detail?id=546106
那么,有哪些选择?
unsafe-inline
(不推荐),<style>
代码并使用&#39; shaXXX&#39;或者&#39; nonce&#39;,答案 1 :(得分:0)
我最终使用了他们的OpenID Connect API,因为我不想使用unsafe-inline。它涉及(正确)实施。由于谷歌使用iframe注入他们的代码,我认为他们会使用&lt; style&gt;快速修复此问题。 iframe中的标记。我认为对于开发人员来说,他们不必使用OpenID Connect会更方便。在此之前,我认为OpenID Connect是最佳选择。