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-src
与allow
相同,但在完全支持规范之前,大多数仍使用allow
实现(不包括引用)。
【讨论】:
以上是关于Google Analytics 和 Content-Security-Policy 标头的主要内容,如果未能解决你的问题,请参考以下文章
报告Google Analytics analytics.js异常跟踪的例外情况
Phonegap 和 Google Analytics 不起作用
javascript 使用JS和Google Analytics进行表单跟踪