2006年10月17日火曜日

Baiduspiderのアクセスを拒否する


ここ最近、サーバーの負荷が突然高くなることが何度かあり、おかしいと思ってログを調べてみたところ、「Baiduspider+(+http://www.baidu.com/search/spider.htm)」というユーザーエージェントのアクセスが大量にあることが判明。



さっそくググってみたところ、このBaiduは中華系のサーチエンジンロボットだとか。
中華系サーチエンジンロボットからの大量アクセスなんてリソースの無駄遣いにしかならないので、さっそくアクセス拒否しました。



http://postcard.blog.ocn.ne.jp/itazura/2006/09/baiduspider_5e4c.html



こちらのページを参考に(ていうかそのまんま)してapacheで拒否するようにしました。それから数日経ちましたが、だいぶ負荷が減りました。



追記:
<Location>を使ってbaiduspiderを拒否したんですが、その設定を加えた後、なぜか.htaccessが無効になってしまっていました。<Location>は<Directory>より優先されるようで、それが影響してAllowOverride Allが効かなくなっていたようです。



というわけで、こんな感じに書き直しました。



------------------
SetEnvIf User-Agent Baiduspider baidu_robots



<Directory />
    Options FollowSymLinks...
    AllowOverride All
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <Files *>
        Deny from env=baidu_robots
    </Files>
</Directory>
------------------



うちのサーバーではcgiやphp等もすべてDocumentRoot以下においてあるのでこの設定でも問題ないと思います。

0 件のコメント:

コメントを投稿