アクセスログのドメイン名取得は可能?

[上に] [前に] [次に]
あらい [E-Mail] [HomePage] 2000/01/03(月) 03:53:44
プロバイダは@niftyを使っていますが、とほほカウンターのアクセ
スログのHOST欄が空白になります。このラウンジを検索していろい
ろやってみましたが、どうもダメみたいです。プロバイダの注意に
よると、

>>4.アット・ホームページでは、DNSの逆引きは行っておりません。
>> ホスト名は取得されませんのでIPアドレスをご利用ください。

 のように書いてあります。このプロバイダの場合、ドメイン名の
取得はあきらめたほうがいいのでしょうか?

KENSU [E-Mail] 2000/01/03(月) 04:30:45
Force 264さんとこの引用ですが、

$host = $ENV{'REMOTE_HOST'};

みたいなのがどっかにあるはずなので

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

と書き換えてみてください。

あらい 2000/01/04(火) 06:00:24
KENSUさん、ありがとうございます。

そのスクリプトをどこに適応するのか、ちょっとよくわからなかっ
たのです。とほほカウンターは、以下のようになっています。

# アクセスログを記録する
#
open(OUT, ">> $file_access");
print(OUT "COUNT = [ $count ]\n");
print(OUT "TIME  = [ $time_now ]\n");
print(OUT "ADDR  = [ $ENV{'REMOTE_ADDR'} ]\n");
if ($ENV{'REMOTE_HOST'} ne $ENV{'REMOTE_ADDR'}) {
print(OUT "HOST  = [ $ENV{'REMOTE_HOST'} ]\n");
}
print(OUT "AGENT = [ $ENV{'HTTP_USER_AGENT'} ]\n");
# print(OUT "REFER = [ $referer ]\n");
if ($reffile && (!$my_url || ($reffile !~ /$my_url/))) {
print(OUT "FROM  = [ $reffile ]\n");
}
print(OUT "\n");
close(OUT);

 gethostbyaddrを使う方法をいくつか試してはみたのですが、ど
うもダメでした。IPアドレスをドメイン名に変換するCGIも動か
してみましたが、こちらも空欄になって戻されます。

ぬほほ 2000/01/04(火) 12:09:05
@Niftyなどではgethostbyaddr関数が使えません。
自動的に行うなら、他のプロバイダに飛ばすしかありません。
手動でよければ、下記URLにJPNIC Whois Gateway があります。
http://www.nic.ad.jp/cgi-bin/whois_gate
ローカルで参照するなら、下記URLからリストを入手します。
http://www.nic.ad.jp/jp/db/application.html

あらい 2000/01/06(木) 02:14:33
[[解決]]
ぬほほさん、ありがとうございます。

やっぱり使えないんですね。これであきらめがつきました。Web上
で変換できるものはどれもひとつずつで使いにくかったのですが、
以下のサイトで一括変換できるので、これを使わせてもらおうと
思っています。

http://www2s.biglobe.ne.jp/~cru/library/tools/nslookup.html

[上に] [前に] [次に]