ASP.NET: Webサイト訪問者が人間かボット(BOT)かを見分けるには
Webサイトの訪問者数をデータベースなどに保存しているといった場合、
ボットも含めてすべての訪問者を対象にするとデータベースの更新頻度が高まりサイトのレスポンスに悪影響を与えることになります。
ASP.NETでは「UserAgent」を取得する「Request.UserAgent」や訪問者がクローラーかどうか調べる「Request.Browser.Crawler」などがありますが、
どれも完璧ではありません。ここでは「Request.UserAgent」を使用してボット(BOT)を見分けるシンプルな方法と少し精度を高めた2種類の方法について解説します。
当サイトを訪問する主なUserAgent一覧
当サイトを訪問するユーザー(人間)が利用しているUserAgentとボット(BOT)を調査したのでその一覧を掲載します。
表1: 当サイトを訪問する主なUserAgent
% |
UserAgent |
System |
|
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 |
Chrome WinNT |
|
Twitterbot/1.0 |
BOT Twitterbot |
|
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot) |
BOT Applebot |
|
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537..36 |
Chrome MacOS |
|
Mozilla/5.0 (compatible; PaperLiBot/2.1; https://support.paper.li/hc/en-us/articles/360006695637-PaperLiBot) |
BOT PaperLiBot |
|
Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1 |
Safari 604.1 iPhone |
|
Dispatch/1.2.0 |
BOT Dispatch |
|
Mozilla/5.0 (X11; U; x86_64 Linux; en_US; rv:1.7.12) Gecko/20050915 Firefox/50.0.2 |
Firefox 50.0 Linux |
|
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:62.0) Gecko/20100101 Firefox/62.0 |
Firefox 62.0 MaxOS |
|
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.37 |
Edge 91.0 Win10
|
|
Mozilla/5.0 (compatible; TrendsmapResolver/0.1) |
BOT TrendsmapResolver |
|
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 |
Chrome 91.0 Win10 |
作成手順
Coming soon...
操作手順
Coming soon...