【问题标题】:How to block a bot that is excessively visiting my site?如何阻止过度访问我的网站的机器人?
【发布时间】:2014-04-03 10:03:41
【问题描述】:

此机器人不尊重 robots.txt 中的 nofollow noindex

我在 robots.txt 中有这个:

User-agent: Msnbot
Disallow: /

User-Agent: Msnbot/2.0b
Disallow: /

到目前为止,它还很慢,但现在,它是一个根本不会离开我的网站的怪物。 24/7 抓取所有 WordPress 和 MyBB。

要阻止 IP 范围或我可以做些什么来阻止所有这些内容窃取者?

【问题讨论】:

  • 在右侧窗格的 Related 部分中有很多潜在的重复项。
  • @halfer,谢谢。但是,使用这种方法,我将不得不做很多事情。我需要一些更简单的方法来阻止除 Google Bot 之外的所有机器人。我需要为我想以这种方式阻止的每个机器人添加 RewriteCond %{HTTP_USER_AGENT}。
  • 您确实专门询问了一个机器人。如果您按 IP 范围阻止,您可能会遇到同样的问题,除非有许多机器人来自同一范围。
  • 是的,你是对的,我问的是 MSN bot,因为它忽略了 Robots.txt。如果我可以通过 htaccess 阻止除 Google Bot 之外的所有内容,那么我将在 robots.txt 中为 Google Bot 设置规则,它会更好更容易。来自 D. Kasipovic 的回答我做了这个代码pastebin.com/w8719E4c 不知道它会工作,从来没有试过这个。

标签: wordpress .htaccess web-crawler bots


【解决方案1】:

基于Block by useragent or empty referer,您可以在 .htaccess 中使用类似的内容

Options +FollowSymlinks  
RewriteEngine On  
RewriteBase /  
SetEnvIfNoCase User-Agent "^Msnbot" ban_agent
Deny from env=ban_agent

【讨论】:

  • @D. Kasipovic,谢谢你的回答。根据您的回答,我创建了这个 htaccess:pastebin.com/w8719E4c 这会阻止除 Google One 之外的所有爬虫/机器人吗?
  • 首先,.com.ba ?波斯纳? :) 另一件事是,我认为 .htaccess 将阻止所有访问,除了谷歌机器人之一。包括用户
  • 是的。 .com.ba 是域。波斯尼亚主办。你知道要在代码中修复什么,这样它就不会阻止用户,如果可能的话,如果没有,我会使用你的代码。
  • 您不能单独阻止“所有机器人”,您需要分别阻止每个机器人。我 ja sam iz Bosne, zato pitam :)
【解决方案2】:

您需要这样做:

代码:

User-agent: *
Disallow:

User-agent: MSNbot
Disallow: /

以上代码允许除 MSNbot 之外的所有机器人。

您可以在此处阅读有关机器人排除协议的更多信息。

例如,对于必应。

User-agent: MSNBot
Disallow: /

谷歌

User-agent: googlebot

Disallow: /

如果您想阻止所有机器人。用这个。

User-agent: *

Disallow: /

【讨论】:

  • 您的 Bing 示例大概应该参考 Bing? :)
  • @user3062270,我已经有了这个。 bingbot 忽略了 Robots.txt。
  • @user3238424:你能引用 Bing 不使用 robots.txt 的说法吗? Afaik 所有优秀的机器人都尊重这个文件。
  • 啊,我想你是说 MSNbot。
猜你喜欢
  • 1970-01-01
  • 2016-10-28
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-07
  • 2015-10-07
  • 1970-01-01
相关资源
最近更新 更多