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

Shu Sawada luna @ lunanet.gr.jp
2009年 3月 10日 (火) 18:03:53 JST


さわだ@札幌、です。

> しかし、gethostbyaddrで取得しますと、プロバイダのURLが返るようで、それは一定
> になるようになっているのですね。(このあたりが不思議です)

まず、用語ですが、gethostbyaddr()で返ってくる値は、URLではありません。FQDNではないでしょうか。
この辺はDNSの仕組みを勉強して下さい。
当然、適切に逆引きが設定されているISPであれば、逆引きのドメイン名は当該ISPのものに
なりますが、動的IPの場合、ホスト名部分は不定ですよね?

例えば、ヤフーBBさんのユーザは何万人いるのか存じませんが、そのアクセス全てを
管理者のものと見なして良いのであれば、ドメイン名だけで判断しても良いと思います。
(しかしそれは、ISP別アクセス集計と呼ぶと思います)

動的IPの場合、IPアドレスおよびその逆引きから、ユーザを特定することは
僕の知る限りで無理だと思います。

> 違う方からも似たようなアドバイスがあったのですが、具体的なイメージが湧きませ
> ん。他のユーザも、自分もIEでアクセスするのですから、どのように付加するのか?
> です。 自分用だけのアクセスの仕掛けを用意するのでしょうか。いちいち使い分け
> るのも面倒だし。

そうですね。そこで、
http://journal.mycom.co.jp/special/2007/ffext/026.html
みたいなものを使うといかがでしょうか、という提案をしている次第でした。
IEでどのように実現できるのかは、すみませんが僕は突っ込んで調べたことがありません。
素直にcookieなりを使うのが手っ取り早いんじゃないかなあ、と思います。

リクエストの識別だけが目的であれば、そこまでセキュアにする必要も無いでしょうから、
管理者用の認証ページを設けて(表にURIを出す必要はありません)ID/PWで認証、OKなら
setcookie()。setcookieのパラメタを適切に設定することで、常に$_COOKIEで情報が
取れませんか?

もし、残念ながら僕の言っていることが理解できないようでしたら、まずはその辺の勉強を
なさることをお勧めします。

#付け焼き刃の断片的な知識でシステムを組んでも、ロクな事にならない上にアンセキュアな
#システムとなる恐れがありますので、、、

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


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