- ベストアンサー
アクセスカウンタの作成について教えてください
アクセスカウンタをphpで作ろうとしているのですが、 検索エンジン等のロボットにようるアクセスを除外したいのですが、 どうすれば良いのか、よく分かりません。 ご存知の方がいらっしゃましたら、ご教授お願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
検索エンジンロボットのアクセスを除外したいということですね。 ロボットの判定は色々ありますが、UserAgent文字列で判断するのが、 お手軽で一般的だと思います。 UserAgentは、$_SERVER['HTTP_USER_AGENT']に入ってきます。 ロボットがアクセスしてくると、この文字列が以下のように なったりします。 Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) msnbot/1.0 (+http://search.msn.com/msnbot.htm) Baiduspider+(+http://www.baidu.com/search/spider.htm) パターンとしては、「bot/」「bot-」「spider」「crawl」「slurp」 なんていう文字が入っていると、ロボットと判断していいと思います。 以上をふまえてプログラムを書くと、以下のような感じになるでしょうか。 if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/(bot[\\/\\-]|spider|crawl|slurp)/i', $_SERVER['HTTP_USER_AGENT'])) { // (ロボットのときの処理) } else { // (通常のブラウザーのときの処理) } preg_match()関数については、参考URLをお読みになってください。
お礼
ご回答ありがとうございます。 教えていただいた内容を元に作成できそうです。 ありがとうございました。