BaiduSpider を拒否する

 中国からのアクセスは望まないので、以前に PetalBot を拒否設定しました。

以前の記事

 ログを見ていたら、BaiduSpider からのアクセスもあったので、同様に拒否します。robots.txt でうまく行かないことがあるようなので、Apache2 でも弾くことにしました。

robots.txt

User-agent: baiduspider
User-agent: baiduimagespider
Disallow: /

 相手から送られてくるユーザエージェントは、BaiduSpider ですが、大文字があるとだめだという記事があったので、全部小文字にしました。

Apache2 の設定

 すでに PetalBot の拒否設定はしてあるので、サイトの設定ファイルに次の内容だけを追記しました。

SetEnvIf User-Agent "BaiduSpider" denybot
SetEnvIf User-Agent "BaiduImageSpider" denybot

 こちらは通知してきたユーザエージェントのとおりに指定します。

 Apache を再起動します。

$ sudo service apache2 restart

 なお、fail2ban で拒否にも関わらず、多数のアクセスがある場合は、その IP を拒否する設定もしています。

fail2ban

 この記事の、403 エラーで引っかかるはずです。Apache のログを汚したくないので fail2ban で弾いています。

サーバ設定

Posted by sirius