アクセスログのドメイン名取得は可能?
[上に]
[前に]
[次に]
あらい
[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
[上に]
[前に]
[次に]