アクセスユーザーの情報取得について

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

ブログを公開したり、WEBサービスを立ち上げたり、サーバー処理を使ってデータ処理をする場合に、
アクセスユーザーに対して、情報管理をする事は重要です。

サービスであれば、アクセス解析を行なって、
「どういったユーザーが来訪している。」とか「特定の属性のユーザーにのみ広告を出したい」などの
アクションに繋げることも必要になります。

そうした時に、ユーザーのアクセス情報ってどのレベル取得できるのか?

という事をツールにしてみました。

http://ideacompo.com/tools/getinfo/

解説

サーバーサイドでの取得情報とjavascriptにおける取得情報を切り分けてみました。
サーバーサイドで取れるユーザー情報は、IPアドレスとUAぐらいなので、本領発揮はjavascriptでしょうね。

サーバー情報

IPアドレス:javascriptで取得できないのでサーバーの重要なユーザー情報になります。
日付:javascriptはブラウザを実行しているPCやスマホなどの端末でセットされている時刻になるので、固定的に取得するにはサーバーが確実でうす。
URL:サーバー情報でURIを取得するのが難しいので、URLを無理やり作り出しています。これはJSの方が得意ですね。
UserAgent:JSでと同じ情報が取得できます。
Cookie:JSと同じ情報が取得できますが、サーバーで書き込むCookieはサードパーティcookieです。
Port:情報としては、あまり意味はないですが、サーバーログとの付け合せを行うような場合には有効です。
Http-Accept:この情報もあまり意味がないものですが、取れるものは取るスタンスです。
Http-Accept-Encoding:表示状態のheada情報
GATEWAY_INTERFACE:CGIプロトコル
SERVER_PROTOCOL:HTTPプロトコル

JavaScript

Browser:ブラウザ情報
OS:OS情報
Network:ネットワーク情報
URL:URLアドレス情報
GEO:位置情報※ユーザーダイアログにより取得を許可したユーザーの情報のみ取得できます。
Cookie:ファーストパーティcookieの取得ができます。
Storage:ローカルstorage情報の取得

ソースコード

今回はPHPファイル1つでオールインワンにしてみました。
各情報毎にAPI化するという手もあるので、その辺は、ご自由にコピペしてください。

その他

かつて楽天が特許を取った、Aタグでリンク設定された文字の色を判別して、「青色」なら、未アクセス「紫色」ならアクセス済み
という判定をJSで行なうという手法があったんですが、アクセス情報の取得をする目的だったため、大量のURLを登録するような
事が行われ、ブラウザ側で、その手法を塞がれてしまうという悲しい結果になってしまいました。

また、ユーザー情報はトラッキング情報とも言って、iOSのメインであるsafariブラウザはサードパーティcookieを基本的に受け付けない仕様になっているので、各社が色々なやり方でトラッキングを行なっているようです。

次回はトラッキングを研究してみたいと思います。

Leave a Reply

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