LinkedIn分享按钮的内容安全政策
问题描述:
我目前正在尝试使用<script type="IN/Share"></script>
标记将LinkedIn分享按钮添加到我的网站。然而,我有一个相当强大的内容安全策略,看起来它需要unsafe-inline
为style-src
和script-src
这显然是我不准备做的事情,因为我可能只是没有CSP在那一点。LinkedIn分享按钮的内容安全政策
有没有人知道一种方法让分享按钮正确显示,而无需启用这些?
答
您需要使用随机数或散列哈希值。如果它只是LinkedIn插件和代码是在每个页面上相同的(就像我希望这将是),你只需要包含在现有的指令中的SHA哈希,是这样的:
script-src: 'sha-35443567457455424532765'
谷歌浏览器会在开发工具中为您生成sha shahes,只需复制它为您提供的需要加载的资源的字符串,然后使用新的CSP重新加载并确认它是否有效。测试多个页面以确保它覆盖所有情况。
如果您的代码中添加了大量内联样式/脚本,那么使用sha可能会变得杂乱,但如果它是一个像这样的单个小部件,它应该只需要一个/几个。准确的sha哈希值会随着Linkedin的代码更改而改变(甚至可能依赖于创建按钮时设置的变量),所以我没有包含精确哈希,因为它不太可能工作。