合理分析事件API-防止操纵

  • 本文关键字:操纵 API- 事件 analytics
  • 更新时间 :
  • 英文 :


根据合理分析文档,您可以向/events/api端点发出POST请求,以记录页面视图。我是自托管的。我很惊讶,我可以使用Postman简单地用一些伪数据向端点发出POST请求,并且它被记录为实际的页面视图。

我检查了另一个网站(使用云版本(,似乎我也可以处理那里的数据。这是正常的,还是我设置错了?应该如何防止对分析数据的操纵,还是这只是技术的工作方式?

  1. 这与合理无关。它几乎涉及任何基于前端的分析跟踪系统。Matomo、Adobe Analytics、Google Analytics:他们在这方面都非常脆弱。更不用说追踪转换以优化流量细分的第三方服务大军了。

  2. 但是:2.1没有人会在意破坏别人的数据。好吧,没有人能让人们不关心它。这种情况很少发生。2.2以可靠的方式破坏数据是相当困难的。你必须研究跟踪模式,获取代理,设置分布式事件洪泛,合理地随机化有机设置的每个维度。这很难。2.3即使你足够优秀,可以破坏数据,但如果不清理垃圾中的数据,优秀的分析师和数据科学家至少能够检测到攻击。2.4像这样的攻击要比建立良好的跟踪花费更多。因此,从商业角度来看,破坏所有竞争对手的数据太贵了。

  3. 最后,是的,你可以确保它的安全。但目前价格昂贵。这里的想法是使用一种服务器端标记管理器。Adobe Launch(现在称为Tags(、Matomo、Tealium和GTM都提供服务器端选项。它不仅提供了隐藏分析端点的机会,还允许您绕过广告拦截程序,根据受众的不同,广告拦截程序通常会阻止5%至75%的跟踪。

然而,服务器端现在需要跟踪实现专家不仅要知道JS和DOM的一些信息,还要知道服务器端的信息,以及一些API技能。服务器端TMS不允许您在服务器上执行通用代码,所以现在您必须准备好编写自己的后端代码。

显然,您可以忽略服务器端TMS,而使用测量协议,直接将事件从服务器端点发送到跟踪端点,绕过TMS。TMS提供了价值,但服务器端TMS只是成为一个漂亮的、有充分记录的路由器。

你的跟踪方案现在看起来是这样的:

event happened >> 
you generate a data object >> 
you encrypt it >> 
you send it to your generic endpoint >> 
the endpoint decrypts it >> 
it checks the validity of the event >> 
it builds a proper payload to send to the actual server-side TMS endpoint OR to the analytics system, using its measurement protocol >>
Done.

查看您的跟踪变得有多复杂?

如果不是跟踪端点,您仍然会刷新后端端点。破解它仍然是可能的,但现在它需要挖掘潜在的一堆模糊JS来寻找加密逻辑。因此,您现在可能希望在幻想允许的情况下混淆加密代码:使用evals和base64,或者使用Function构造函数来隐藏eval。或者在后台使用一些代码来完成加密。

再说一遍,这不值得。我从来没有见过有人对这种攻击足够关心,来经历所有这些麻烦,无论它看起来多么有趣。

最新更新