我正在建立一个使用webpack的网站。
我即将发布它,我想放上addThis
分享小部件。我按照addThis
的建议,在关闭身体标签之前在index.html
中添加addThis
代码。像这样:
<!-- Go to www.addthis.com/dashboard to customize your tools -->
<script type="text/javascript"
src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-
###MY_NUMBERS###"></script>
</body>
这会在chrome-inspect控制台中生成以下错误:
拒绝加载脚本 'http://s7.addthis.com/js/300/addthis_widget.js',因为它违反了 以下内容安全策略指令:“script-src'self'”。
我已经阅读了一些内容,它似乎无法将addThis
分离到另一个js文件并将其保存在本地以将其加载到DOM。
我尝试将此添加到我的manifest.json
:
"content_security_policy": "script-src 'self' http://s7.addthis.com/js/300/addthis_widget.js; object-src 'self'"
没有成功。有没有办法覆盖CSP设置以允许addThis-widget
?
<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline'
'unsafe-eval' https://*.addthis.com https://addthis.com;child-src 'self' 'unsafe-
inline' 'unsafe-eval' https://*.addthis.com https://addthis.com; object-src 'self'
'unsafe-inline' 'unsafe-eval' https://*.addthis.com https://addthis.com; script-src
'self' 'unsafe-inline' 'unsafe-eval' https://*.addthis.com https://addthis.com; img-src
'self' 'unsafe-inline' 'unsafe-eval' https://*.addthis.com https://addthis.com;">
将此添加到标题将允许加载addthis小部件。可能不安全,这将破坏Content-Security-Policies的目的......
如果有的话,我总是通过.htaccess
设置我的CSP。
这里有一些很好的提示:https://content-security-policy.com/
你基本上在那里,但不确定它如何与manifest.json一起使用。
尝试在.htaccess
中类似:
Header set Content-Security-Policy "default-src 'none'; script-src 'self' http://*.addthis.com
有关.htaccess
文件需要注意的事项:https://www.digitalocean.com/community/tutorials/how-to-use-the-htaccess-file
此外,使用CSP,您需要指定基本上使用的所有外部源。
值得更详细地研究CSP并了解您使用的所有各种图像,字体等来源。
任何问题,让我知道,我会进一步扩大。