15

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;

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

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

<script src="/js/google-analytics.js"></script>
<script src="https://ssl.google-analytics.com/ga.js" async="true"></script>

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

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

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

有什么我想念的吗?谷歌会改变我的事情并打破这一切吗?有官方推荐吗?

4

1 回答 1

3

这基本上是正确的:

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

  2. Firefox 的 CSP 实现略有不同。对于旧版本,替换default-srcallow. 在 Firefox 支持default-src等于allow但大多数仍然实施allow直到它完全支持规范(不包括引用)之前,有一个截止点。

于 2013-01-30T16:14:55.997 回答