[PHP-users 34373] Re: $_SERVERでユーザ名を調べる

Shu Sawada luna @ lunanet.gr.jp
2009年 3月 10日 (火) 13:46:17 JST


さわだ@札幌、と申します。

> $_SERVERだけの情報からできるのかどうかは、いかがでしょうか。できないから、代
> 替案をご提示いただいたと判断してよろしいでしょうか。

失礼ながら、何がわからないのかを判っていないように見受けるので、こういった
アドバイスになっているのではないかと思いますよ。
もっと具体的な質疑であれば、的確な回答を得られると思います。

それだけでは何なので、ざっと

> ・クローラがHPにアクセスする状況を把握して、サーチエンジンのインデックス化の
> 改善を探る。

クローラの定義をどうとるか、という要件については考慮していますか。
そこがOKなら、あとは要件通りに実装するだけです。
REMOTE_ADDRでいいならば、それで「クローラからアクセスされている」ことは
判断できるのではないでしょうか。

> ・一般ユーザがHPにアクセスする状況を調べる。そのためには、自分からのアクセス
> (分析に不要だから)とクローラからのアクセスを識別する。
> です。

一般ユーザの定義とは何ですか。
IPベースで判断し、クローラ以外のIPからの接続が一般ユーザですか。
それとも、HTTP_USER_AGENTで判断するのですか。
あるいは、ログイン処理をさせて、ログインされているものを一般ユーザと判断するのですか。
どういった形で実装するかにより、システムの設計から変わってくると思います。

例えば、
「クローラのIPと特定のIPアドレス以外からのアクセスを判断したいが、どのように
 判断するのがよいか」
という質問の投げ方であれば、相応の回答が得られると思いますよ。

>  一般ユーザの場合でも、他サイトのリンクからくる場合と、お気に入りからくる場
> 合があります。両者でheaderの様子が違うように見えます。

ここで言っているヘッダとは、リクエストヘッダですよね?
それであれば、その違う部分を判断すれば良いだけではないですか?
恐らく、HTTP_REFERERを言っているのだと思いますが、、、リファラは確実に判断できる
情報ではないことに留意する必要があることを申し添えておきます。
クライアントサイドがリファラを確実に吐いてくれるとは限りません。

> ・正味の訪問カウンタを設置する(既成の物は、正味のユーザだけをカウントできな
> いだろうと思った)

「正味」の定義とは。ユニークユーザですか。
同一の組織からNATされて接続された場合、IPアドレスが同一で100人が接続してくる、という
ケースが考えられますが、そこの判断は何を基準に行うという仕様でしょうか。

> ・Query_stringも調べたい(デバッグもかねている)

これはまあ、そのまんま保存すればいいと思います。


ざっとこれだけ疑問点が沸いてくるわけで「その辺を推測して回答してくれ」というのは
ちょっと難しいかな、と思います。
ということで、「基礎を体系的に勉強なさっては」とお勧めされているのだと思います。

とりあえずキーワードとしてはこんなところだと思いますので、あとは検索するなりして
いただけると、とっかかりにはなるのではないかと。

あと、余計なお世話かと思いますが、人からの厚意をつっぱねちゃうと、もらえる回答も
もらえなくなっちゃうと思いますよ。もったいないです。

では。

-- 
 Shu Sawada
 http://luna.lunanet.gr.jp/


PHP-users メーリングリストの案内