2週目になる今回からはSEOに関した事を少しずつ書こうかと思います。
ところで、どのぐらいの方がこのブログをご覧になられているのでしょう?
公開したはいいけど、誰にも見られていないんじゃないだろうか・・。(それはあまりに寂しいですが)
その不安を解消する為にアクセスカウンターを埋め込んだり、Google Analyticsを埋めたりするのが当たり前になってきていますが、今回はPHPとJavaScriptを使ってどれぐらいアクセス情報が取れるかやってみようと思います。
前提条件として、
1. 一般的なサイトにもJavaScriptを書くだけで情報が取れる。埋め込むのは一行のスクリプト!
2. データ収集をするサーバーと公開しているサーバーは別物。
上記 2点の条件で下記の様なものを作ってみたいと思います。
まずJavaScriptで取れる必要そうなクライアント情報を並べてみます。
ホスト名 | location.host,location.hostname |
ポート番号 | location.port |
リクエストページ | location.pathname |
ブラウザ名 | navigator.appName |
ブラウザバージョン | navigator.appVersion |
言語 | navigator.language |
プラットフォーム | navigator.platform |
ユーザーエージェント | navigator.userAgent |
リファラ | document.referrer |
ドメイン | document.domain |
では実際に取得してみます。
アクセス情報
ホスト名 | |
ポート番号 | |
リクエストページ | |
ブラウザ名 | |
ブラウザバージョン | |
言語 | |
プラットフォーム | |
ユーザーエージェント | |
リファラ | |
ドメイン |
取得できるものはできていますが、欲しい情報であるIP情報を取ることができていません。
結論から言いますとJavaScriptでIP情報を取得することはできないです。
ではどうやって取得するのかですが、CGIに頼るしかないようです。
ではPHPではどれくらい情報が取得できるのでしょうか。
ホスト名 | $_SERVER[‘HTTP_HOST’] |
ポート番号 | $_SERVER[‘REMOTE_PORT’] |
リクエストページ | $_SERVER[‘REQUEST_URI’] |
ページを見ている人のIPアドレス | $_SERVER[‘REMOTE_ADDR’] |
ページを見ている人のホスト名 | gethostbyaddr($_SERVER[“REMOTE_ADDR”]) |
言語 | $_SERVER[‘HTTP_ACCEPT_LANGUAGE’] |
ユーザーエージェント | $_SERVER[‘HTTP_USER_AGENT’] |
リファラ | $_SERVER[‘HTTP_REFERER’] |
大体はJavaScriptと同じように取得できます。
IPアドレスとホスト名が取得できるのはいいですね。
しかし今回はPHPの動かないWEBサイトに埋め込む事を想定しているので、
この情報をそのまま取得することはできません。
今回はここまでです。
次回は、実際にスクリプトを書いて取得させてみようと思います。
Yoshi