wwwcount.cgiでホストを取得したいのですが?

[上に] [前に] [次に]
1999/09/24(金) 08:04:21
はじめまして。
ここには、いつもお世話になっています。
今回カウンタをダウンロードさせてもらいましたが、
ログにIPしか表示されずホストが表示されません。
ホスト名が表示されないと不便なので自分なりに過去ログを
読んでみましたが、
../199904/99040166.htm
のB-Cusさんの発言を参考にCGIをいじってるのですが、
どこに挿入したら良いのかよく分かりません。
使用してるサーバーは、ハイパーマートです。
どうか、アドバイスよろしくお願いします。

とほほ 1999/09/29(水) 23:53:37
wwwcount.cgiの
# アクセスログを記録する
のあたりの、

if ($ENV{'REMOTE_HOST'} ne $ENV{'REMOTE_ADDR'}) {
  print(OUT "HOST  = [ $ENV{'REMOTE_HOST'} ]\n");
}

という3行を、

if ($ENV{'REMOTE_HOST'} ne $ENV{'REMOTE_ADDR'}) {
  print(OUT "HOST  = [ $ENV{'REMOTE_HOST'} ]\n");
} else {
  if ($host = gethostbyaddr(pack("C4", split(/\./, $ENV{REMOTE_ADDR})), 2)) {
    print(OUT "HOST  = [ $host ]\n");
  }
}

に変更してみてください。(自分で試してないのでちょっとドキドキ)

Selly 1999/09/30(木) 05:31:39
サーバの設定次第ではREMOTE_HOSTがIPでなく、空の場合もあるようです。
そういった場合を考えると、REMOTE_HOSTは完全に無視して強制的にDNSに問い合わせた方がいいかもしれません。

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