サイトに訪問したユーザーのユーザーエージェントをPHPで取得する

今回はPHPでユーザーのユーザーエージェントを取得する方法です。

ここで言うユーザーエージェントは、WEBサイトに訪れたユーザーの端末やブラウザの情報のことです。

iPhoneかAndroidかの判定を利用してスマホからかPCからかを判定したり、GoogleやBingのクローラーを判定したりできます。

PHPでユーザーエージェントを取得する方法

PHPでユーザーエージェントを取得するには、スーパーグローバル変数の $_SERVER に含まれる HTTP_USER_AGENT を取得します。

$_SERVER は配列になっているので、上のサンプルコードのようにキーにHTTP_USER_AGENTを指定するだけです。

簡単ですね!

ユーザーエージェントを使ってスマホ判定する方法

僕のiPhoneで自分のサイトにアクセスしてみました。

ごちゃごちゃと色々書かれていますね。

この中に”iPhone”というキーワードが含まれていればiPhoneからのアクセスと判定します。

Android端末からのアクセスの場合は”Android”が含まれています。

iPadなら”iPad”で、iPodなら”iPod”になります。

 

文字列の中から特定の文字列を検索するにはstrpos()を使います。

≫ strpos()についてはこちらの記事をご覧ください。

 

スマホの判定は以下のようなコードになります。

iPadやiPodを含めるかは設計者かお客さんに確認してください。

Googleのクローラー判定

GoogleやBingなどのクローラーかどうかの判定もできます。

GoogleのクローラーのUAはこちらのページで確認できます。

“Googlebot”が含まれてたらGoogleの検索インデックス用クローラーでよさそうです。

Bingの場合は”bingbot”ですね。

 

クローラーのアクセスの場合Googleアナリティクスにもカウントされないので分かりにくいですが、全てのアクセスに対しUAを吐き出すログを作成するとかなりクローラーのアクセスがあります(笑)

GoogleやBingなどならいいですが、ロシアのわけ分からん検索サイトやガチで悪質な中国のクローラーなんかは拒否しちゃってもいいかもれないですね。

まとめ

ユーザーエージェント(UA)は、ユーザーのデバイスやブラウザの情報。

特定のワードが含まれているかどうかで、端末やクローラーなどの判定ができる。

スマホ対策だけでなく、悪質なアクセスのブロックにも役立てれます。

コロナの影響でみんな大変だから俺もなんかできること

僕は福井県に住んでいるのですが、戦時中に福井大空襲にあい、その直後に大震災にあってボロボロになった話をおばあちゃんに聞きました。

それでも復活することができ、不死鳥の町と言われるようになりました。

先人達には心から感謝し尊敬します。

リーマンショック、東日本大震災、コロナと数十年に一度と言われる被害が立て続けに起きていますが、僕たちは強いです。

今は苦しいかもしれませんがきっと復活できます。

僕は低学歴ですし小さな小さな粒でしかないですが、プログラミングに関しては必死に勉強し15年以上ごはんにありつけています。

プログラミングを勉強している人の役に立てるほどのスキルはあると思っています。

なので1人でもんもんと悩んでいる若手のエンジニア向けに質問を受け付けることにします。

自宅で待機されている間もパソコンとインターネットがあればプログラミングの勉強はできます。

  • PHP
  • SQL
  • HTML・CSS
  • jQuery

とは言ってもいきなり答えを聞いていたのではなかなか成長できないと思うのです。

なので質問の際には次のことをご連携ください。

  • 何をやりたいか
  • どんなことを調べたか、検索キーワードと参考にしたページのURL
  • 調べた結果どこが分からないか
  • できるなら試したコード

メッセージいはとりあえずTwitterにでもください。

質問はこちら

すぐに返事できないかもしれませんがご了承ください。

コメントを残す

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

CAPTCHA