2

我正在将keen.io 与Rails 3.2 应用程序集成。一切都很好,除了例如记录的 500 次浏览量,400 次来自谷歌和其他引擎抓取该网站。特别是因为我们将按事件付费,所以我试图阻止 Keen 记录这些非用户事件。在记录事件之前是否有一种简单的方法来检查用户代理?

4

2 回答 2

1

我最终在控制器中执行了以下操作:

bots = /googlebot|bingbot|CCBot|008|ABACHOBot|Accoona-AI-Agent|AddSugarSpiderBot|Arachmo|BlitzBOT|...|ZyBorg/ 除非 request.env["HTTP_USER_AGENT"].downcase.match(bots) if user_signed_in? @user = current_user Keen.publish...

不确定这是否是最好的方法,但它似乎可以显示来自真实用户的事件。

于 2015-01-03T23:44:40.037 回答
1

听起来对我来说是一个合理的解决方案。

如果您希望在全局范围内实现此行为,作为 Rack 中间件,您可以考虑使用像fnando/browser这样的 gem 。乍一看,它似乎具有机器人检测功能以及包含的中间件。

于 2015-01-04T20:09:36.717 回答