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

fujioka qhtsige @ apost.plala.or.jp
2009年 3月 9日 (月) 19:50:49 JST


現在HPを、トップページはindex.php として htaccessでindex.htmlをrwriteしてい
て、内部の個別ページはmkpage2.phpで生成しています。その両方のPHPの入り口で、
$_SERVERを調べています。

お聞きしたいことは、HPにユーザからアクセスがあったとき、ユーザサーバ(ドメ
イン名)の名前を$_SERVER[]で取得したいのですが、どのような指定をすればよいか
教えてください。
ユーザがHPにアクセスする場合には、次のケースがあります。

ブラウザから直接トップページのURLを指定する。
検索エンジンの検索結果(この場合はトップページでなく、内部の個別ページがほと
んど)をクリックする。
一般のサイトにあるリンク情報から(トップページと個別ページの両方ある)から訪
問する。
検索エンジンのクロールによるアクセス。
他に、HPの下位のページからトップページに戻る場合は、HTTP_HOSTにHPのurlが出ま
す。

今まで試行した所、検索エンジンやリンク情報からくる場合は、HTTP_REFERERにあら
われ、クロールはHTTP_USER_AGENTにそれらしい名前がでてくるようです。問題は、
ブラウザから直接URLを指定した場合に、そのユーザ名を判断できるような情報が見
つからないのです。

トップページはindex.php として htaccessでindex.htmlをrwriteしています。内部
の個別ページはmkpage2.phpで生成しています。その両方のPHPの入り口で、$_SERVER
を調べています。
もし、他に方法があれば教えてください。

なお、申し訳ありませんが、問題が単純なので、他のサイトでもお聞きする(マルチ
ポスト)かも知れないことを、ご了解くださるようお願いします。


調べた範囲。(全然関係ないのもあります)
 $_SERVER['HTTP_HOST'])
 $_SERVER['HTTP_REFERER']);
 $_SERVER['QUERY_STRING']);
 $_SERVER['HTTP_CONNECTION']);
 $_SERVER['HTTP_USER_AGENT']);
 $_SERVER['SERVER_NAME']);
 $_SERVER['REMOTE_HOST']);
 $_SERVER['REMOTE_ADDR']);



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