Javascript 分析脚本不是很容易受到数据黑客攻击吗?

Aren't Javascript analytics scripts susceptible to easy data hacks?

在生产环境中,基于 Javascript 的分析脚本(Google Analytics、Facebook Pixel 等)与唯一 ID/Pixel ID 一起被注入到大多数 Web 应用程序中普通 Javascript.

例如,airbnb 使用 Google 分析。我可以打开我的开发控制台和 运行

setInterval(function() {ga('send', 'pageview');}, 1000);

这将导致永远每 1 秒请求一次分析像素。仅我的机器一个小时就有 3600 个请求。

现在,这可以以分布式方式轻松完成,每秒产生数百万个请求,完全扭曲 pageview 事件的 Google 分析数据。我知道收集到的大量数据会在一定程度上纠正这种偏差,但这可以通过提高请求量来轻松补偿。

我的问题是:是否有任何保护措施可以防止竞争对手或恶意个人以这种方式破坏应用程序的数据完整性? GA 或 Facebook 是否提供此类选项?

是的,但 Javascript 没有不安全的部分。例如,您可以使用测量协议将数据泛洪到一个帐户。在这里,您可以看到同一个社区中的很多人对此感到困惑(而且解决起来很简单。) https://whosebug.com/search?q=spam+google+analytics

所有这些测量系统都使用 HTTP 调用来填充您 "database" 上的数据。如果您能够建立正确的呼叫,您就可以向所有人和任何地方发送垃圾邮件(但不要这样做,不要作恶)。

https://developers.google.com/analytics/devguides/collection/protocol/v1/?hl=es-419

Google 分析的这一页解释了什么是协议测量,Javascript 仅用作构建和发送命中的框架。

https://developers.google.com/analytics/devguides/collection/protocol/v1/?hl=es-419

但是,并不是所有的东西都丢失了。 例如,如果您尝试使用该代码在浏览器上执行此操作,Google Analytics FrameWork 限制为每秒 1 次调用和每个会话 150 次(或 cookie 值)。是的,越过那个障碍并不复杂,但之后会出现其他障碍。

所以如果你使用Javascript框架是安全的。现在假设您对 python 执行相同操作,将 http 发送到 Google Analytics 服务器。这是可能的但是: 所以这里有两件重要的事情要说。

  • Google Analytics 有主​​动 "firewall",检测垃圾邮件发送者并禁止他们。(他们如何以及何时这样做不是 public),但在我的情况是几年前垃圾邮件发送者少了很多。

  • 还有一些好的做法可以避免这种情况。例如,仅将域存储在白名单下,创建过滤器以仅允许来自您域的流量 https://support.google.com/analytics/answer/1033162?hl=en

  • 此外,使用过滤器仅包含来自特定商店或具有特定参数 "for example brand == my brand" 或 "CustomDimension== true" 的数据也是保护电子商务的一个很好的做法。排除超过 1.000 美元的产品交易(检查您的限额并应用主动过滤器)。所有这些障碍都使得打破变得复杂。

如果你这样做,你会保护你的域很多(因为在创建机器人时知道 UA + Domain Valid 的组合太复杂了),但你知道,所有系统都可能被破坏。根据我的经验,我只看到 2 或 3 起来自垃圾邮件发送者或想要伤害的人造成的损害,如果我创建一个主动过滤器,在所有这些情况下都可以避免。通常垃圾邮件发送者只会向您的帐户发送垃圾广告,几乎不想伤害您。 Facebook、Piwik 和其他工具的情况大致相同。