百度を弾く

12月から**“www*.asd.tj.cn”からのアクセスが増大していて、直近一ヶ月のリクエストの18.32%に達していた。ちなみにReferer“image.baidu.com”**で、中国の検索サイト「百度(Baidu)」だ。どうやら画像収集専用のロボットクローラーらしい。

これがどれくらい多いかというと、googleの検索エンジンgooglebot.comが8.12%、プロバイダとしてシェア最大のbbtec.netが8.16%なので相当大きい。.com全体の20.45%に匹敵しようというトラヒックは非常識であり、排除するに十分な不作法だろう。

というわけでIPアドレスでアクセス拒否しようと思ったのだが、なぜかIPアドレスがうまく引けない…。orz

しかし、大量にあるアクセスホストはIPアドレスよりドメインで弾く方が賢い。と考え直して、Remote_HostRefererで弾くことに。

てなわけで、/etc/httpd/conf/httpd.conf

**SetEnvIfNoCase Referer image\.baidu\.com BAIDU**
**SetEnvIfNoCase Remote_Host \.asd\.tj\.cn BAIDU**
**SetEnvIfNoCase User-Agent "Baiduspider" BAIDU**
<Directory "/home/*/public_html/">
    AllowOverride All
    Order allow,deny
    **Deny from env=BAIDU**
    Allow from all
</Directory>

な具合に。

参照

ITmedia http://www.itmedia.co.jp/

Apache HTTP サーバ バージョン 2.0 ドキュメント http://httpd.apache.org/docs/2.0/ja/