ASP.NET计算访问者,而不是机器人

时间:2010-08-13 20:45:20

标签: asp.net

我有一个ASP.Net 4网站。我在背景中计算访问者,但我的代码也算是搜索引擎的机器人。我怎么能理解我的客户是机器人还是人类?我不想算机器人。

此致

5 个答案:

答案 0 :(得分:4)

您可以使用Request.Browser的Crawler属性来过滤搜索引擎机器人。

答案 1 :(得分:0)

您可以查看User Agent,然后查找属于机器人或抓取工具的R类型。

有关详细信息,请参阅http://www.user-agents.org

我确信有些情况下机器人不遵守标准,你可能不得不关注这些标准。

答案 2 :(得分:0)

您最好的选择可能是检查客户的用户代理:

http://support.microsoft.com/kb/306576

对于.NET,甚至可能有一个快速的小库,其中包含许多众所周知的用户代理或良好的正则表达式。请注意,一些机器人会发送虚假的用户代理,使其看起来像是人,有些人的浏览器可能会发送空的或未知的用户代理等。但这些情况应该很少。在大多数情况下,这应该可以获得非常好的统计数据。

答案 3 :(得分:0)

对于初学者,您可以尝试检查邮件标题中的User Agent。但是,恶意机器人会伪造它。更加劳动密集的方法是以编程方式记录/检查您的IP访问(查看Web日志文件,或自己收集它们)并尝试根据访问频率等推断其中哪些是机器人。相当于猫和老鼠的游戏

答案 4 :(得分:0)

如果您想阻止抓取工具访问某些链接,请在根目录中创建一个Robots.txt文件,例如:

User-agent: *
Disallow: / // blocks the default route / page
Disallow: /MyPage.aspx

检查

http://en.wikipedia.org/wiki/Robots_exclusion_standard

&安培;

http://www.google.com/#hl=en&q=robots.txt