カテゴリー
ホームページ製作

botを除く

アクセスカウンタでbotを除きたいので、いろいろ試行錯誤してみた。

上記リンク先のようにすればいいけど、今はstr_contains()を使ったほうがいいということなので、少し変えてみた。

$_SERVER[‘HTTP_USER_AGENT’];に変わって、gethostbyaddr($_SERVER[‘REMOTE_ADDR’]);でIPアドレスをホスト名にして、ボットかどうか判別。ボットだと思われるものはarray関数に追加する形にしました。ボットならtrue,ボットではないならfalseが返る。

function isBot(){
  $ua = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  $bot_arr = array(
     "applebot"
    ,"ahrefs.com"
    ,"googlebot"
    ,"msnbot"
    ,"rate-limited-proxy"
  );
  foreach ($bot_arr as $bot_value) {
    if (str_contains($ua, $bot_value)) {
      return true;
    }
  }
  return false;
}

とりあえず、これで運用してみます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です