#画像連結ライブラリ取込み require './gifcat.pl'; #総カウント数の桁数 $figure1 = 5; #GIF画像のディレクトリ #--> フルパスだと / から始るパス $gif = './gif'; #ユーザー用記録ファイル(xx.txt)を置くフォルダーまでのパスを記入 #cgiファイルが置いてあるフォルダー内には、xx.txtは置かないで下さい(log.cgiは別にフォルダーを作成し置いて下さい) #現在、フォルダー名が cgi-bin になっています。 #例えば、cgi-bin下のxxxフォルダー内に置く時は、../cgi-bin/xxx と記入。 $mkbo = './log'; #CGI動作用認証キーを記入(半角英数字) $key = 'admin'; #(只今、abcに設定) #閲覧用認証キーを記入(半角英数字) $key2 = 'admin'; #(只今、abcに設定) #とりあえず10ページ分下記に書いていますが無制限に追加できます。 #下記のxxxx 部分は下記10まで記入しているので11から追記してください。 #$FORMA{'xxxx'} = 'データーを記録させたいhtmlファイルまでのURLを記入'; $FORMA{'1'} = 'http://www.toshoku.or.jp/index.html'; $FORMA{'2'} = 'http://www.toshoku.or.jp/sosiki/sosiki1.html'; $FORMA{'3'} = 'http://www.toshoku.or.jp/member/shido-kaiin.html'; $FORMA{'4'} = 'http://www.toshoku.or.jp/shikaku/index.html'; $FORMA{'5'} = 'http://www.toshoku.or.jp/eiseikanri/top.html'; $FORMA{'6'} = 'http://www.toshoku.or.jp/kyousai/top.html'; $FORMA{'7'} = 'http://www.toshoku.or.jp/shikaku/tyo-top.html'; $FORMA{'8'} = 'http://www.toshoku.or.jp/eiseijigyo/index.html'; $FORMA{'9'} = 'http://www.toshoku.or.jp/eiseijigyo/shido-arekore.html'; $FORMA{'10'} = 'http://www.toshoku.or.jp/eiseijigyo/shido-shidoin.html'; $FORMA{'11'} = 'http://www.toshoku.or.jp/eiseijigyo/shido-tenkenhyo.html'; $FORMA{'12'} = 'http://www.toshoku.or.jp/eiseijigyo/shido-syupan.html'; $FORMA{'13'} = 'http://www.toshoku.or.jp/event/home1_5.html'; $FORMA{'14'} = 'http://www.toshoku.or.jp/event/home1_6.html'; $FORMA{'15'} = 'http://www.toshoku.or.jp/news/news.html'; $FORMA{'16'} = 'http://www.toshoku.or.jp/news/topics.html'; $FORMA{'17'} = 'http://www.toshoku.or.jp/fukushi/index.html'; #例えば、上記 xxxx 部分が1の場合は、 #1、1.txtファイルを作成する(1ページ分は、1.txt にデーターが記録される。2ページ分は2.txtに記録、以下同じ) #2、データーを記録させたいhtmlファイルの一番下に下記のタグを記入して下さい(相対パスかURLで記入) # Log_Panel

各ページのアクセスログ閲覧

$mon月$day日($wday)$hour時$min分現在

HTML opendir(DI,"$mkbo") || die"error\n"; @fil = readdir(DI); closedir(DI); foreach $lin (@fil){ if($lin !~ /(.*)\.txt$/){next;} if(!open(IN,"${mkbo}/${1}.txt")){$messe = '読み込みファイルをオープン出来ません';&keikoku;} $ti = ;close(IN);chop($ti); ($counta3,$countb3,$counter,$time3,$year3,$mon3,$day3,$wday3,$hour3,$min3) = split(/\,/,$ti); #if($day3 != $day){$counta1 = 0; $countb1 = $counta3;}else{$counta1 = $counta3;$countb1 = $countb3;} #追加 $counta1 = $counta3; $countb1 = $countb3; if($mon3 eq ''){$counta1 = 0;$countb1 = 0;$mon3 = '--';$day3 = '--';$wday3 = '--';$hour3 = '--';$min3 = '--';} if($counter eq ''){$counter = 0;} $counta1a{$1} = $counta1; $countb1a{$1} = $countb1; $countera{$1} = $counter; $timea{$1} = $time3; $days = "$mon3月$day3日($wday3)$hour3時$min3分"; $daya{$1} = $days; } $lineno = 1; #foreach (sort {$counta1a{$b} <=> $counta1a{$a};} keys(%counta1a)){ if($lineno == 0){$y = $counta1a{$_};} if($y == 0){$y = 1;} $yy = int (($counta1a{$_}*150) / $y); if($yy < 1){$yy = 1;} if($timea{$_} < $time-2*24*60*60){$counta1a{$_} = 'not';$countb1a{$_} = 'not';} print < HTML #} print "
ページ URL カウンタ 当日 当月 最終アクセス日時トップページ $FORMA{'1'} $countera{'1'} $counta1a{'1'} $countb1a{'1'} $daya{'1'}
組織 $FORMA{'2'} $countera{'2'} $counta1a{'2'} $countb1a{'2'} $daya{'2'}
会員管理 $FORMA{'3'} $countera{'3'} $counta1a{'3'} $countb1a{'3'} $daya{'3'}
食品衛生責任者 $FORMA{'4'} $countera{'4'} $counta1a{'4'} $countb1a{'4'} $daya{'4'}
衛生事業 $FORMA{'5'} $countera{'5'} $counta1a{'5'} $countb1a{'5'} $daya{'5'}
共済事業 $FORMA{'6'} $countera{'6'} $counta1a{'6'} $countb1a{'6'} $daya{'6'}
調理師試験 $FORMA{'7'} $countera{'7'} $counta1a{'7'} $countb1a{'7'} $daya{'7'}
衛生教育事業(最新) $FORMA{'8'} $countera{'8'} $counta1a{'8'} $countb1a{'8'} $daya{'8'}
衛生教育事業(あれこれ) $FORMA{'9'} $countera{'9'} $counta1a{'9'} $countb1a{'9'} $daya{'9'}
衛生教育事業(自治指導員) $FORMA{'10'} $countera{'10'} $counta1a{'10'} $countb1a{'10'} $daya{'10'}
衛生教育事業(自主管理) $FORMA{'11'} $countera{'11'} $counta1a{'11'} $countb1a{'11'} $daya{'11'}
衛生教育事業(出版物) $FORMA{'12'} $countera{'12'} $counta1a{'12'} $countb1a{'12'} $daya{'12'}
衛生教育事業(食品衛生講習会) $FORMA{'13'} $countera{'13'} $counta1a{'13'} $countb1a{'13'} $daya{'13'}
衛生教育事業(イベント案内) $FORMA{'14'} $countera{'14'} $counta1a{'14'} $countb1a{'14'} $daya{'14'}
最新情報 $FORMA{'15'} $countera{'15'} $counta1a{'15'} $countb1a{'15'} $daya{'15'}
トピックス $FORMA{'16'} $countera{'16'} $counta1a{'16'} $countb1a{'16'} $daya{'16'}
東京食品福祉厚生事業団 $FORMA{'17'} $countera{'17'} $counta1a{'17'} $countb1a{'17'} $daya{'17'}


HOME

\n"; print "


\n"; }elsif($FORM{'k'} eq "$key" && $FORM{'a'} ne ''){ open(INN,"${mkbo}/$FORM{'a'}.txt") || die "Can't Open Count Data File\n"; $tim = ; close(INN); chop($tim); ($counta,$countb,$counter,$time2,$year2,$mon2,$day2,$wday2,$hour2,$min2) = split(/\,/,$tim); if($day2 != $day){$count = 0;}else{$count = $counta;} if($mon2 != $mon){$count2 = 0;}else{$count2 = $countb;} if($count eq ''){$count = 0;} if($count2 eq ''){$count2 = 0;} if($counter > 900000 ){$counter = '1';}else{$counter++;} $count++; $count2++; open(OUT,">${mkbo}/temp$$") || die "Can't Open Count Data File\n"; chmod 0666, "${mkbo}/temp$$"; print OUT "$count\,$count2\,$counter\,$time\,$year\,$mon\,$day\,$wday\,$hour\,$min\n"; close(OUT); rename("${mkbo}/temp$$","${mkbo}/$FORM{'a'}.txt"); # -------------------------------------------------------- # カウンタ画像セット $cntstr1 = sprintf(sprintf("%%0%dld", $figure1), $counter); printf("Content-type: image/gif\n"); printf("\n"); for ($i=0; $i; #close(IMG); } ######### sub dec { if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$name} = $value; } } ########## sub jikan { $time = time; ( $sec,$min,$hour,$day,$mon,$year,$wday ) = localtime($time); $mon++; if ($year < 10) { $year = "0$year";} if ($sec < 10) { $sec = "0$sec";} if ($min < 10) { $min = "0$min";} if ($hour < 10) { $hour = "0$hour";} if ($day < 10) { $day = "0$day";} $wday = ('日','月','火','水','木','金','土')[$wday]; } ########## sub keikoku { print "Content-type: text/html\n\n"; print "WWW\n"; print "\n"; print "

$messe
\n";exit; } ########