Asp.net 检测您的站点是否被机器人访问

Asp.net 检测您的站点是否被机器人访问,asp.net,seo,Asp.net,Seo,我有一些地理定位代码,如果网站被机器人(如谷歌等)入侵,我想以一种特殊的方式进行操作 有什么办法可以推断出这一点吗?向搜索引擎爬虫和人类访问者呈现不同的内容-所谓的-是一件危险的事情,如果被发现,搜索引擎可能会惩罚 也就是说,请查看维护良好的“机器人列表”的几个链接。您必须解析USER_AGENT字符串,并将其与这样的bot列表进行比较 您可以通过用户代理属性检查这一点。有关用户代理字符串的更多信息,请选中此处:使用类型“R=机器人、爬虫、蜘蛛”标记记录。位这是不能保证的,用户代理属性可能会因多

我有一些地理定位代码,如果网站被机器人(如谷歌等)入侵,我想以一种特殊的方式进行操作


有什么办法可以推断出这一点吗?

向搜索引擎爬虫和人类访问者呈现不同的内容-所谓的-是一件危险的事情,如果被发现,搜索引擎可能会惩罚


也就是说,请查看维护良好的“机器人列表”的几个链接。您必须解析USER_AGENT字符串,并将其与这样的bot列表进行比较

您可以通过用户代理属性检查这一点。有关用户代理字符串的更多信息,请选中此处:使用类型“R=机器人、爬虫、蜘蛛”标记记录。位这是不能保证的,用户代理属性可能会因多个因素而改变,这不是100%可靠的

您可以通过检查用户代理或IP来完成。使用后者可能更可取,因为其他信誉较差的机器人并不陌生,它们可以欺骗大人物的用户代理。即使是谷歌等公司,他们的IP范围也很窄,因此在IP上进行检测不需要编制大量的列表。

如果你只对设置良好的知名机器人感兴趣,例如谷歌、雅虎、MSN/Live/Bing/无论现在是什么,Ask等,那么你可以使用往返DNS检查

1) 检查已知用户代理(查找已知子字符串,如googlebot)
e、 g.Mozilla/5.0(兼容;Googlebot/2.1+

2) 对请求的IP执行反向DNS,并检查它是否来自合理的域。
e、 g.66.249.71.202的rdns是crawl-66-249-71-202.googlebot.com(很高兴它来自googlebot.com)

3) 就其自身而言,步骤2可能是伪造的,所以现在检查步骤2中返回的结果的记录的dns,并确保您拥有原始的请求IP。
e、 g.以上的dns为
crawl-66-249-71-202.googlebot.com。A 66.249.71.202

66.249.71.202是请求的IP地址,因此这是一个有效的googlebot