User-agent: abc
Disallow: /not_for_abc/
User-agent: *
Disallow: /secret/
意思是禁止 abc 这个 robot 捉 /not_for_abc/ 目录,及禁止所有的 robots 捉 /secret/ 目录. 网站管理者理论上可以将不喜欢的 robot,或是禁止 robot 捉取的目录或档案,写在这个档案中.
但是这个只防君子不防小人,碰到网路流氓就没辙了,有些搜寻引擎的 robot 根本不看网站的 robots.txt,就一路抓下去,实在另人发指. 网路流氓是什么,就是这些不遵守游戏规则,到处乱捉别人网站的内容的坏蛋,这样会造成网站的流量增加,也就是费用的增加,或是不想被搜寻的资料也被捉走了,侵犯网站的隐私. 很可恶是吧. 下面是几个例子:
iaskspider 是「爱问」属于中国新浪网的 robot,完全不管 robots.txt
60.28.164.87 - - [06/Jan/2007:06:28:47 +0800] "GET /wp/archives/2005/08/13/12/46/48/ HTTP/1.0" 200 20969 "-" "Mozilla/5.0 (compatible; iaskspider/1.0; MSIE 6.0)"
60.28.164.87 - - [06/Jan/2007:06:29:34 +0800] "GET /wp/archives/2005/08/13/21/28/00/ HTTP/1.0" 200 19601 "-" "Mozilla/5.0 (compatible; iaskspider/1.0; MSIE 6.0)"
60.28.164.87 - - [06/Jan/2007:06:31:45 +0800] "GET /wp/archives/2005/07/06/22/47/17/ HTTP/1.0" 200 39200 "-" "Mozilla/5.0 (compatible; iaskspider/1.0; MSIE 6.0)"
QihooBot,也是来自中国的「奇虎网」,也是垃圾一个,浪费一堆频宽,来源 IP 有很多个:
220.181.34.162 - - [03/Jan/2007:11:36:27 +0800] "GET /wp/feed/ HTTP/1.1" 200 21947 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; QihooBot 1.0)"
220.181.34.170 - - [03/Jan/2007:11:38:14 +0800] "GET /wp/archives/2006/12/ HTTP/1.1" 200 5373 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; QihooBot 1.0)"
220.181.34.177 - - [03/Jan/2007:11:38:30 +0800] "GET /wp/archives/category/childtalking/ HTTP/1.1" 200 6554 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; QihooBot 1.0)"
另有 larbin,iearthworm,yodaoice,lanshanbot,Outfoxbot 等等一堆,到网路上征信一下,这些通通不是什么好东西,还有一个 WebClipping.com 不知是好人坏人…
碰到这种网路流氓,说实在的也没什么积极的办法,不能叫网路警察把它捉起来...不过消极的办法还是有的,把网站门户看好 — Apache 可以挡住特定 IP,但因为 robots 大多有多重 IP,过滤坏蛋的姓名比较有效,可以用 BrowserMatchNoCase 来过滤,用法像是:
复制程式
<directory "/wwwroot">
Order allow,deny
Allow from all
BrowserMatchNoCase "iaskspider" badguy
BrowserMatchNoCase "QihooBot" badguy
BrowserMatchNoCase "larbin" badguy
deny from env=badguy
</directory>
如此,它们就会收到 Apache 丢回 403 码:Forbidden
但是,有些更没品的还会隐姓埋名,不敢用真面目见人的…