在生产环境中,基于Javascript的分析脚本(Google Analytics,Facebook Pixel等)会以简单的Javascript注入大多数Web应用程序以及唯一ID /像素ID。
例如,airbnb使用Google Analytics。我可以打开我的开发控制台并运行
setInterval(function() {ga('send', 'pageview');}, 1000);
将导致每1秒钟一次请求分析像素。那是我的机器每小时3600个请求。
现在,这可以轻松地以分布式方式完成,每秒产生数百万个请求,完全扭曲了pageview
事件的Google Analytics数据。我知道收集到的大量数据会在一定程度上纠正这种偏差,但这可以通过提高请求量来轻松补偿。
我的问题是:是否有任何保护措施可以阻止竞争对手或恶意个人以这种方式破坏应用程序的数据完整性? GA或Facebook是否提供此类选项?
答案 0 :(得分:1)
是的,但不安全的部分不适用于Javascript。例如,您可以使用测量协议将数据泛洪到一个帐户。在这里你可以看到很多人在同一个社区中有这个两倍(而且它很安静,很容易解决。) https://stackoverflow.com/search?q=spam+google+analytics
所有这些测量系统都使用HTTP调用来填充数据库"中的数据。如果你能够建立正确的电话,你可以在每个人和所有地方垃圾邮件(但不要做,不要做坏事。)
https://developers.google.com/analytics/devguides/collection/protocol/v1/?hl=es-419
Google Analytics的这个页面解释了什么是协议测量,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有一个主动"防火墙",用于检测垃圾邮件发送者并禁止它们。(他们这样做的方式和时间不公开),但在我的情况下,我看到很多垃圾邮件发送者几年前。
还有一些好的做法可以避免这种情况。例如,仅将域存储在白名单下,创建过滤器以仅允许来自您的域的流量 https://support.google.com/analytics/answer/1033162?hl=en
此外,保护电子商务是一种非常好的做法,使用过滤器仅包含来自特定商店或某些参数的数据,例如品牌==我的品牌"或" CustomDimension == true"。排除产品超过$ 1.000的交易(检查您的限制并应用主动过滤器)。所有这些障碍使得复杂的破裂。
如果你这样做,你会保护你的域很多(因为在创建机器人时知道UA + Domain Valid的组合太复杂了),但是你知道,所有的系统都可以破碎。根据我的经验,我只看到来自垃圾邮件发送者或想要伤害的人的2或3例损害,如果我创建了主动过滤器,则可以防止所有这种情况。通常垃圾邮件发送者只将垃圾广告放入您的帐户,几乎从不想伤害您。 Facebook,Piwik和其他工具或多或少相同。