3

RailsアプリのMixpanelを介してイベントを追跡しています。たとえば、私のコントローラーは次のようになります

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

問題は、アプリが多数のボット、特にPingdom(私たちが使用するパフォーマンス追跡サービス)に見舞われることです。私のアプリにヒットするボットである場合、追跡を無視するクリーンな方法はありますか?

注:一意の訪問者を追跡することに関心があるため、一意のIDを持つ各訪問者にCookieを割り当てます。ボットは明らかにCookieを保存しません。

4

2 に答える 2

5

これを行う従来の方法は、ボットユーザーエージェントのインデックスを作成し、UAがボットと一致したときにトラッキングイベントコードを単に無視することです。

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

これは維持するのが面倒ですが、一般的には効果的です。UAについて嘘をついている人にとっては明らかに効果的ではありませんが、ボットではないと判断するためにヒューリスティック検出を行う以外にできることは多くありませんが、この場合は努力する価値がない可能性があります。

于 2012-10-28T16:18:42.513 に答える
0

Rails 3 & 4 では、古い Rails 2 セッション変数を使用してセッションのオン/オフを簡単に管理できるようにする gem を使用できます。私にとってはうまくいきました:

https://github.com/kares/session_off

于 2014-06-13T02:34:08.943 に答える