google-analytics - Google Analytics 和 Content-Security-Policy header

标签 google-analytics content-security-policy

Content-Security-Policy HTTP header 旨在阻止来自不受信任服务器的内联脚本和资源。但是,示例 Google Analytics(分析)代码段取决于两者。该领域的最佳实践是什么?

这是我当前使用的 Content-Security-Policy header :

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。

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

最佳答案

这基本上是正确的:

  • 您不需要图像的路径,只需要协议(protocol)+主机+(隐含)端口
  • Firefox 的 CSP 实现略有不同。对于旧版本,替换 default-srcallow . Firefox 支持 default-src等于 allow但大多数仍然使用 allow直到它完全支持规范(不包括引用)。
  • 关于google-analytics - Google Analytics 和 Content-Security-Policy header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14592598/

    相关文章:

    google-analytics - 在支持离线功能的网络应用程序中处理 Google 分析

    google-analytics - googletags 是否可以跟踪来自推荐网站的点击?

    iphone - iOS 上的 Google Analytics SDK v2 中未报告的广告系列

    google-analytics - Google跟踪代码管理器增强了电子商务

    cordova - 谷歌分析与 Ionic

    html - 包含 CSP 随机数的服务器端呈现页面的 ETag

    文件上传在生产环境中违反 Angular 内容安全策略

    python - Chrome 中的嵌入器不允许生成 Wasm 代码

    angular - Heroku 上 Angular 5 应用程序中的内容安全问题

    content-security-policy - 具有内联样式的 svg 的内容安全策略