Q:リモートホスト(REMOTE_HOST)の取得について。

CGIなどに利用される環境変数にホスト名を取得する「REMOTE_HOST」がありますが、現在この変数では直接ホスト名を取得できないようになっています(IPアドレスで返ってきます)。

理由はWWWサーバに負荷が掛かりすぎるためです。
最近は他社でも同様の理由から直接「REMOTE_HOST」から直接取得できないようになってきています。

そこでCGIなどでホスト名を取得する場合は、下記のようにまずリモートアドレス(REMOTE_ADDR)を取得し、perlの関数のgethostbyaddr()を使用しホスト名を取得します。

$addr = $ENV{'REMOTE_ADDR'};
$host = gethostbyaddr(pack('C4',split(/\./,$addr)),2);

フリーで出まわっているCGIなどは、REMOTE_HOSTまたgethostbyaddrで取得するか選択できるもの、または自動で選択できるものがほとんどだと思いますが、そうでない場合、上記を参考に手直しして下さい。

戻る

MILKCAFE -Rental Service -
Copyright © 2000-2008 MILKCAFE All Rights Reserved.

FAQ v1.00
Cute Girls Interface