2022/05/08

アクセスの大半がBOT

 Botの利点・欠点

こういった弱小ブログとかウェブサイトとかやってると必ず目に付く物...
BOT

別に1日100とか200PVもあればあまり気にならないのでしょうが、私は1週間に1人見てくれたら良い方。それくらいPV数が少ないと、どうしてもアクセスログのユーザーエージェント欄とにらめっこしてしまう。

ユーザーエージェントというのは、簡単に言うと「どんなPCのどんなブラウザのどのようなバージョンで見ているか」を示す文字列なんですが、多くのBot(G◯◯gleとかBlNGとか)はそこに「GoogleBot;」とか「BingBot」みたいな文字が書いてあります。ようするに、「僕はGoogleのボットだよ~」って知らせてくれているんですね。

普通の「人間」がアクセスしているPCなら、「{ブラウザの名前/バージョン}|{OSの名前/バージョン}{その他色々}」(例えば投稿者の場合「Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0」)って感じなんですが、あまりにもBotからのアクセスが多いとアクセスログのユーザーエージェントの欄にBotの名前が大量に並ぶのです。

 「Botって何が駄目なの?」と疑問に思う方も多いでしょう。
Botとは、タスク化された処理を自動で実行するアプリケーションを指します。インターネット上では「自動的にウェブサイトにアクセスしてデータを収集/検証するようなアプリケーション」を意味することもあります。
Botの用途は多くの場合、検索エンジンなどがBotを利用してウェブサイトからデータを収集し、検索結果に反映します。(クローラとも呼ばれます)

...「多くの場合」と言いましたが、勿論例外もあります。

ウェブサイトのデータをそっくりそのままコピーするBot。コピーされたデータは不正利用されることもあり、非常に厄介です。また、過度なアクセスによりサーバに過負荷をかける危険性も孕んでいます。

検索エンジンなどのクローラを除けば、百害あって一利無し、です。


そんなBotたちですが、もろちんアクセスを拒否する方法もあります。

 アクセス拒否

1.robots.txtで拒否

robots.txtは、Botやクローラなどに「ここのファイルは見ていいよ」「ここのファイルは駄目だよ」「お前出入り禁止な!」と、どこの階層のクロールが禁止されているのか、また許可されているかなどを明示するものです。また、このファイルでクロール(Botやクローラなどがコンテンツを収集する行為)を禁止したデータがあっても、人間(普通のユーザ)は問題なくアクセスができます。

 ですが、このrobots.txtはあくまで「明示」するだけで、Botやクローラが必ず従うことは保証できません。簡単に言うと、完全に無視して何気ない顔でクロールする奴も居ます

2..htaccessや.confなどで拒否

もしお使いのサーバで.htaccessや.confが利用できる場合、これを使用するのが手っ取り早いかもしれません。私はApacheを搭載しているサーバを利用しているので、.htaccessのみの記述となります...

.htaccessとは、簡単に言うと「サーバのアクセス制限などの設定をディレクトリ単位で行えるすごいやつ」です。すごいやつです。 具体的には、ユーザーエージェントやホスト名、IPアドレスなどでファイル単位でのアクセス制限を行えます。

先程、「Botはユーザーエージェントに自分の名前が書いてある」みたいなことを言いましたが、ここでようやく役立ちます。要するに、ユーザーエージェントにブロックしたいBotの名前があったらアクセスを拒否すれば良いのです。ユーザーエージェントでのブロックはIPよりもまあ分かりやすいので初心者にはオススメです。 

ユーザーエージェント偽装

...と、ここまで色々書きましたが本当にヤバいBotは大抵ユーザーエージェントが偽装されています。多分。

そもそもユーザーエージェント自体、ブラウザさえあれば書き換え放題やり放題なので一番確実なのはホスト名とIPや国外からのアクセス総ブロック(検索エンジン除く)だったりします。

 また、ここで書いたものが全てではないので、他の方の記事を読んだほうが遥かにマシです。
最後までお疲れ様でした。

ラベル: ,