[PHP-users 34382] Re: $_SERVERでユーザ名を調べる
shounari
ml @ shiftra.jp
2009年 3月 10日 (火) 16:47:26 JST
肥田です。
> f藤岡です 肥田さま宛です。
>
> > > >$host = gethostbyaddr($_SERVER["REMOTE_ADDR"]);
> > で取得してみてください。
>
> すでに、これで取得した値がログの[T_ADDR]に入っています。
> こうすると、当然ながら、負荷やレスポンスが気になりますので、実際はローカルに
> するとかの方策を考える予定です。
なるほど。
であれば そのサーバでは ホスト名は取れないのだと思いますよ。
マニュアルの gethostbyaddr関数のページにも書いてありますが、
> 返り値
> ホスト名を返します。
> 失敗した場合は、そのままの形の ip_address を文字列で返します。
とのことですので。
なぜ取れないのか、というのは、DNSの設定やサーバ構成等も絡んでくるので、
一概には言えません。
> > REMOTE_HOST は、Apacheの設定の HostnameLookups が On でないと
> > 取得できなかったと思います。
>
> Onであれは、上記と同じ物が入るのですか。わかりました。
Apacheの設定の HostnameLookups が On だと、例えば
$_SERVER['REMOTE_HOST'] には、XXX.XXX.XXX.XXX.ftth.ucom.ne.jp
が入ります。
T_ADDR には、そのまま $_SERVER["REMOTE_ADDR"] を入れるのが良いかと
思います。
よろしくお願いします。
--
shounari <ml @ shiftra.jp>
PHP-users メーリングリストの案内