我在我的网站上使用Takk.to的聊天小部件代码来启用聊天气泡。我只是将代码放在一个JS文件中:
var Tawk_API = Tawk_API || {}, Tawk_LoadStart = new Date();
(function() {
var s1 = document.createElement("script"), s0 = document.getElementsByTagName("script")[0];
s1.async = true;
s1.src = 'https://embed.tawk.to/xxxxxx/default';
s1.charset = 'UTF-8';
s1.setAttribute('crossorigin', '*');
s0.parentNode.insertBefore(s1, s0);
})();我需要它在一个超文本标记语言文件中作为一个<script>。它按预期工作。但问题是,下面的代码导致我的网站违反了一些内容安全策略。对于我的内容安全策略,出于安全原因,我不允许任何内联样式。显然,'https://embed.tawk.to/xxxxxx/default‘确实包含一些内联样式。有没有办法解决这个问题,而不允许在我的网站上使用内联样式?
发布于 2020-10-20 04:31:41
Takak.to的小部件在标签和内联样式块中有太多的内联样式,所以使用“hash-value”来实现这些是不现实的。
唯一的方法是iframe这个小部件,以便与主页CSP隔离,如果合适的话。
对于我的内容安全策略,出于安全原因,我不允许任何内联样式
脚本中的'unsafe-inline‘怎么样?它比在style-src中更不安全。你可以使用'nonce-base64value‘标记来允许widget本身的内联脚本,但是tokau.to的widget使用的是javascript:-导航,所以如果在script-src中没有'unsafe- inline’,你也会违反CSP。点击微笑图标,然后进入浏览器控制台。
https://stackoverflow.com/questions/64428589
复制相似问题