4

我一直在我的跟踪器上注意到机器人正在访问我的网站。我应该更改或编辑我的 robots.txt 还是更改某些内容?不确定这是否好,因为它们正在索引或什么?

4

5 回答 5

4

我应该更改或编辑我的 robots.txt 还是更改某些内容?

取决于机器人。一些机器人会尽职尽责地忽略 robots.txt。18 个月前,我们在使用 google AD 机器人时遇到了类似的问题,因为我们的客户购买了很多广告。Google AD 机器人将(如文档所述)忽略通配符 (*) 排除,但会听取明确的忽略。

请记住,尊重 robots.txt 的机器人不会抓取您的网站。如果您希望他们访问您的数据以进行索引,这是不可取的。

更好的解决方案是限制或向机器人提供静态内容。

不确定这是否好,因为它们正在索引或什么?

他们可能是索引/抓取/窃取。真的都一样。我认为您想要的是根据 UserAgents 限制他们的 http 请求处理。如何执行此操作取决于您的 Web 服务器和应用程序容器。

正如其他答案中所建议的那样,如果机器人是恶意的,那么您需要找到 UserAgent 模式并向他们发送 403 禁止。或者,如果恶意机器人动态更改用户代理字符串,您还有两个选择:

  • 白名单用户代理 - 例如,创建一个只接受某些用户代理的用户代理过滤器。这是非常不完美的。
  • IP 禁止 - http 标头将包含源 IP。或者,如果您遇到 DOS(拒绝服务攻击),那么您将遇到更大的问题
于 2008-11-29T05:07:54.800 回答
4

我真的不认为更改 robots.txt 会有所帮助,因为只有优秀的机器人才会遵守它。所有其他人都忽略它并根据需要解析您的内容。就我个人而言,我使用http://www.codeplex.com/urlrewriter来摆脱不受欢迎的机器人,如果发现它们,则通过禁止消息进行响应。

于 2008-11-29T05:42:48.083 回答
3

垃圾邮件机器人不关心 robots.txt。您可以使用mod_security之类的东西来阻止它们(这本身就是一个非常酷的 Apache 插件)。或者你可以忽略它们。

于 2008-11-29T05:48:48.447 回答
2

您可能必须使用 .htaccess 来拒绝某些机器人来破坏您的日志。见这里:http ://spamhuntress.com/2006/02/13/another-hungry-java-bot/

我有很多 Java 机器人抓取我的网站,添加

SetEnvIfNoCase 用户代理 ^Java/1。javabot=yes
SetEnvIfNoCase User-Agent ^Java1. javabot=yes
拒绝来自 env=javabot

让他们停下来。现在他们只得到 403 一次,仅此而已:)

于 2008-11-29T06:11:56.230 回答
2

我曾经为一位客户工作过,该客户有许多“价格比较”机器人一直在访问该网站。问题是我们的后端资源稀缺,每笔交易都需要花钱。

在尝试与其中一些抗争一段时间后,机器人只是不断改变其可识别的特征。我们最终采用了以下策略:

对于服务器上的每个会话,我们确定用户是否在任何时候点击过快。在给定次数的重复之后,我们将“isRobot”标志设置为 true,并通过添加睡眠来简单地降低该会话中的响应速度。我们没有以任何方式告诉用户,因为在这种情况下他只是开始一个新会话。

于 2008-11-30T08:01:02.720 回答