サイトに訪問したユーザーのユーザーエージェントを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)は、ユーザーのデバイスやブラウザの情報。

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

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

コメントを残す

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

CAPTCHA