Google Analytics 和 Content-Security-Policy 标头

Posted

技术标签:

【中文标题】Google Analytics 和 Content-Security-Policy 标头【英文标题】:Google Analytics and Content-Security-Policy header 【发布时间】:2013-01-13 14:17:38 【问题描述】:

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

这是我当前使用的 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。

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

【问题讨论】:

对我来说很合适。至于他们是否会改变它,这取决于他们 :) webdriver 测试将确认一切继续工作 【参考方案1】:

这基本上是对的:

    你不需要镜像的路径,只需要协议+主机+(隐含的)端口

    Firefox 的 CSP 实现略有不同。对于旧版本,将default-src 替换为allow。 Firefox 支持default-srcallow 相同,但在完全支持规范之前,大多数仍使用allow 实现(不包括引用)。

【讨论】:

以上是关于Google Analytics 和 Content-Security-Policy 标头的主要内容,如果未能解决你的问题,请参考以下文章

报告Google Analytics analytics.js异常跟踪的例外情况

Google analytics 登录界面异常

Phonegap 和 Google Analytics 不起作用

javascript 使用JS和Google Analytics进行表单跟踪

javascript 跟踪Google Analytics中的下载和出站链接

php 使用Google Analytics和GAPI获取网站数据