Google Analytics和Content-Security-Policy标头

Gre*_*reg 15 google-analytics content-security-policy

Content-Security-Policy HTTP标头用于阻止来自不受信任服务器的内联脚本和资源.但是,Google Analytics代码段示例依赖于这两者.这方面的最佳做法是什么?

这是我目前使用的Content-Security-Policy标头:

default-src 'self'; script-src 'self' https://ssl.google-analytics.com; img-src 'self'  http://www.google-analytics.com/__utm.gif https://ssl.google-analytics.com/__utm.gif;
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经完成了以下工作:

我在我的html中添加了两个脚本标签:

<script src="/js/google-analytics.js"></script>
<script src="https://ssl.google-analytics.com/ga.js" async="true"></script>
Run Code Online (Sandbox Code Playgroud)

google-analytics.js使用_setAccount和_trackPageview设置_gaq数组.

我将ga.js的域添加到了script-src中.

我注意到ga.js正在加载两个图像,所以我将它们添加到img-src中.

有什么我想念的吗?Google会改变我的想法并打破这一切吗?有官方推荐吗?

ore*_*ake 3

这基本上是正确的:

  1. 您不需要图像的路径,只需要协议+主机+(隐含的)端口

  2. Firefox 在 CSP 实现方面略有不同。对于旧版本,替换default-srcallow. default-srcFirefox 支持相同的界限,allow但大多数仍然实现,allow直到它完全支持该规范(不包括引用)。