gpt4 book ai didi

ruby-on-rails - 在 Rails 应用程序中跟踪事件时忽略机器人

转载 作者:行者123 更新时间:2023-12-04 05:45:27 26 4
gpt4 key购买 nike

我在我的 Rails 应用程序中通过 Mixpanel 跟踪事件。例如,我的 Controller 看起来像

class HomeController < ApplicationController
def index
track_event "Visitor: View Landing Page"
end
end

问题是该应用程序受到许多机器人的攻击,其中最著名的是 Pingdom(我们使用的性能跟踪服务)。当机器人点击我的应用程序时,是否有一种干净的方法可以忽略跟踪?

注意:我对跟踪唯一身份访问者很感兴趣,因此我为每位访问者分配了一个具有唯一 ID 的 cookie。机器人显然不存储 cookie。

最佳答案

执行此操作的传统方法是构建机器人用户代理的索引,并在 UA 匹配机器人时简单地忽略您的跟踪事件代码。

bots = /Googlebot|Pingdom|.../
unless request.env["HTTP_USER_AGENT"].match(bots)
track_event(...)
end

这很难维护,但通常是有效的。它显然对任何在 UA 上撒谎的人都无效,但除了进行启发式检测以确定他们不是机器人之外,你无能为力,但在这种情况下,这可能不值得付出努力。

关于ruby-on-rails - 在 Rails 应用程序中跟踪事件时忽略机器人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13110448/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com