スクレイピングの悪質なbotをブロックする過程

スクレイピングで情報を自動収集するようなbotをアクセス遮断するための手順を紹介します。

アクセスログを確認

まずはアクセスログを見ることろからですね。

sudo vi /var/www/log/access_log

ご自身がhttpd.confに設定したログを見てください。

フィードに来てるやつに絞る

フィードのURLで検索します。

http://ドメイン目/feed

がfeedのURLであれば、/feedで検索するとfeedの更新情報を取得しに来てるbotを見つけられます。

いっぱい来ているなぁ、、といった感じですね。

目星のサイトがあればIPアドレスを調べてみる

UNIXコマンドのnslookupで調べられます。

わたしのサイトであれば、以下の通り。

nslookup panzee.biz

最後のスラッシュ(/)とかhttp://を入れると上手く取得できませんのでご注意を。

またIPアドレスで検索

先程のアクセスログを今度はIPアドレスで検索してみます。

sudo vi /var/www/log/access_log

良心的なサイトは大抵の場合、末尾にbotの情報を載せてくれています。

例えばGoogleだとこんな感じ。

"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

ただ、元から悪意を持っているbotは情報なんて載せるはずもなく

"-"

情報載せる該当箇所がこんな感じです。

アクセスを遮断する方法

IPアドレスが合致して怪しそうだなと思ったbotは遮断して様子を見てみるといいでしょう。

遮断の仕方ですが、

.htaccessファイルに以下のように記載します。

.htaccess
deny from XXX.XXX.XXX.XXX

これで一旦様子を見てください。