#!/usr/local/bin/perl
#
# bbs.cgi

#++++++++++
# Copyright by なな 2006♪
#http://www.studioluckycat.com
#残暑お見舞い付環境変数チェッカー
#再配布/改造/流用全くおっけー/確認メール不要
#疑問、質問、ＨＰ制作依頼はスタジオラッキーキャットよりメールください☆
#+++++++++++

#記録ファイルの設定
$access_log = "./bbs.txt";
#
#日時計算


($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(time +9 *60 *60);

$month = ($mon  + 1);
if ($month  < 10) {$month = "0$month";}
if ($mday < 10) {$mday  = "0$mday";}
if ($sec < 10) {$sec = "0$sec";}
if ($min < 10) {$min = "0$min";}
if ($hour < 10) {$hour = "0$hour";}

$y0 = "日"; $y1 = "月"; $y2 = "火"; $y3 = "水"; $y4 = "木"; $y5 = "金"; $y6 = "土";
$youbi = ( $y0, $y1, $y2, $y3, $y4, $y5, $y6) [$wday];

$date_now = "$month月$mday日($youbi)$hour時$min分$sec秒";
$date_num = sprintf("%02d%02d%02d%02d%02d",$mon +1, $mday,$hour,$min, $sec);
#変更禁止


#httpヘッダ部
print "Contents-Type: text/html\n\n";
print "<html>\n\n";
print '<body bgcolor = "white" text = "black" Link = "blue" aLink = "orange" vLink = "green">';
print "<title>掲示板夏休み中のお知らせ</title>\n";
print "<IMG SRC=http://www.studioluckycat.com/midorigaoka/image/furin.jpg>\n";
print "\n";
print "<br><br>\n";

#ログファイルが無ければエラーで終了

if (!open(KLOG,">>$access_log")) { &error; }

$date = $date_now;
print KLOG "$date\n";

#環境変数を取得、変数へ代入

$addr  = $ENV{ 'REMOTE_ADDR'};
$host  = $ENV{ 'REMOTE_HOST'};
$via   = $ENV{ 'HTTP_VIA'};
$xfor  = $ENV{ 'HTTP_X_FORWARDED_FOR'};
$for   = $ENV{ 'HTTP_FORWARDED'};
$agent = $ENV{ 'HTTP_USER_AGENT'};
$ido   = $ENV{ 'HTTP_X_UP_SUBNO'};

#アクセス者のIPアドレスを取得（可能なら）
$trueip = &getip;

#ホスト名が存在しない、あるいは取得出来なかったときの変換
if ($host eq "")     { $host = gethostbyaddr(pack('C4',split(/\./,$addr)),2) || $addr;}
if ($host eq $addr)   { $host = gethostbyaddr(pack('C4',split(/\./,$addr)),2) || $addr;}
if ($xfor  != "")     { $xfor_name = gethostbyaddr(pack('C4',split(/\./,$xfor)),2) || $xfor;}

#結果表示部
print "<H2>";
print "またのご訪問お待ちしています♪";
print "</H2><br>";

#ログへの書き込み部分
print KLOG "HTTP_USER_AGENT = $agent \n";
print KLOG "REMOTE_HOST = $host \n";
print KLOG "REMOTE_ADDR = $addr\n";
print KLOG "HTTP_VIA = $via \n";
print KLOG "HTTP_X_FORWARDED = $xfor \n";
print KLOG "HTTP_FORWARDED = $for \n";
print KLOG "TRUE IP = $trueip \n";
print "<br><br><br><br>\n";

print KLOG "\n\n";
close(KLOG);

print "\n</body>\n";
print "</html>\n\n";
exit;

#エラー処理はそのまま放出
sub error
{
  exit;
}

#IPアドレスの判断部分
sub getip {
if(  $via eq ""){ $trueip = $addr; }
else { $trueip = $xfor;}
 return $trueip;

}