count.cgi 呼び出す

【アクセスログ】 

【ソース】 acclog.cgi 【解説】
  1. #!/usr/local/bin/perl
  2. print "Content-Type: text/html\n\n";
  3. #ログファイル名
  4. $accfile="./acclogfile";
  5. #localtime関数でアクセス時間を取得
  6. ($sec,$min,$hour,$mday,$mon,$year)=localtime(time);
  7. #月の値が0〜11になるので、+1して1〜12に補正する
  8. $mon++;
  9. #西暦を4桁表示にする(2000年対応)
  10. $yy=$year + 1900;
  11. #全体を表示させる記述
  12. $nowis="$yy年$mon月$mday日$hour時$min分$sec秒\n";
  13. #訪問者のホスト名を得る
  14. ($remote_host,$remote_addr) = &get_host;
  15. sub get_host {
  16. my($remote_host,$remote_addr);
  17. $remote_host = $ENV{'REMOTE_HOST'};
  18. $remote_addr = $ENV{'REMOTE_ADDR'};
  19. if($remote_host eq '' || $remote_host eq $remote_addr){
  20. $remote_host = gethostbyaddr(pack('C4',split(/\./,$remote_addr)),2);
  21. if($remote_host eq ''){ $remote_host = $remote_addr; }
  22. }
  23. return($remote_host,$remote_addr);
  24. }
  25. #ブラウザ名を得る
  26. $browser=$ENV{'HTTP_USER_AGENT'};
  27. #どのページから来たかを得る
  28. $referer=$ENV{'HTTP_REFERER'};
  29. #ログファイルをデータ追加書き込みモードで開き、情報を追加
  30. open(FILE,">>$acclogfile");
  31. printf(FILE "%2d/%2d %02d:%02d, $remote_host, $remote_addr, $browser, $referer\n", $nowis);
  32. close(FILE);
  33. #ブラウザに表示する
  34. print "ホスト名は:$remote_host、そして、$remote_addr<BR><BR>使用しているブラウザは:$browser<BR><BR>あなたは、$referer から来ましたね?\n";
  35. exit;
ここまでくると、なんだかもう
まるおぼえ・・・(汗)





















25.リモートホストとIPを返す。
  リモートホストが
  取得できない場合は
  どちらもIPになる。