#!/usr/bin/perl $dir="."; $total_count_file = "totalcount.dat"; $today_count_file = "todaycount.dat"; $yes_count_file = "yesdaycount.dat"; $max_count_file = "maxcount.dat"; $min_count_file = "mincount.dat"; $day_file = "today.dat"; $kdate = &get_date; ################## ¼öÁ¤ÇØ¾ß ÇÒ ºÎºÐ ###################### $where="0"; # Ä«¿îÅ͸¦ °¡·Î·Î ³õÀ¸·Á¸é 0, ¼¼·Î·Î ³õÀ¸·Á¸é 1·Î #_______________ Àüü ¿À´Ã ÇöÀç µîÀÇ ±ÛÀÚ»ö ¼³Á¤ ________________ $total_textcolor="black"; # Àüü ±ÛÀÚ»ö $today_textcolor="black"; # ¿À´Ã ±ÛÀÚ»ö $yes_textcolor="black"; # ¾îÁ¦ ±ÛÀÚ»ö $max_textcolor="black"; # ÃÖ´ë ±ÛÀÚ»ö $min_textcolor="black"; # ÃÖÀú ±ÛÀÚ»ö $user_textcolor="black"; # ÇöÀç ±ÛÀÚ»ö #______________ Àüü ¿À´Ã ÇöÀçµîÀÇ ¼ýÀÚ(µ¥ÀÌŸ)»ö ¼³Á¤ __________ $total_datacolor="blue"; # Àüü µ¥ÀÌŸ»ö $today_datacolor="blue"; # ¿À´Ã µ¥ÀÌŸ»ö $yes_datacolor="blue"; # ¾îÁ¦ µ¥ÀÌŸ»ö $max_datacolor="blue"; # ÃÖ´ë µ¥ÀÌŸ»ö $min_datacolor="blue"; # ÃÖÀú µ¥ÀÌŸ»ö $user_datacolor="red"; # ÇöÀçÁ¢¼ÓÀÚ µ¥ÀÌŸ»ö ################### ¿©±â±îÁö ############################## &cookie; &get_current; &get_Total_num; &get_date_file; &get_max_num; &get_min_num; &get_yes_num; &get_today_num; &put_date_file; &print_count; sub get_date { local ($current_date, $sec, $min, $hour, $day, $mon, $year); ($sec ,$min, $hour, $day, $mon, $year) = (localtime(time))[0,1,2,3,4,5]; $mon++; $current_date = "$day"; ($current_date); } sub get_date_file { open(COUNT,"$day_file") || die "Can't Open Count Data File: $!\n"; $day_file_count = ; close(COUNT); if ($day_file_count =~ /\n$/) { chop($day_file_count); } } sub put_date_file { open(COUNT,">$day_file") || die "Can't Open Count Data File For Writing: $!\n"; print COUNT "$kdate"; close(COUNT); } sub get_Total_num { open(COUNT,"$total_count_file") || die "Can't Open Count Data File: $!\n"; $total_count = ; close(COUNT); if ($total_count =~ /\n$/) { chop($total_count); } if ($COOKIE{'COUNT'} ne "Ä«¿îÅÍ"){$total_count++;} open(COUNT,">$total_count_file") || die "Can't Open Count Data File For Writing: $!\n"; print COUNT "$total_count"; close(COUNT); } sub get_yes_num { open(COUNT,"$yes_count_file") || die "Can't Open Count Data File: $!\n"; $yes_count = ; close(COUNT); if ($yes_count =~ /\n$/) { chop($yes_count); } } sub get_max_num { open(COUNT,"$max_count_file") || die "Can't Open Count Data File: $!\n"; $max_count = ; close(COUNT); if ($max_count =~ /\n$/) { chop($max_count); } } sub get_min_num { open(COUNT,"$min_count_file") || die "Can't Open Count Data File: $!\n"; $min_count = ; close(COUNT); if ($min_count =~ /\n$/) { chop($min_count); } } sub get_today_num { open(COUNT,"$today_count_file") || die "Can't Open Count Data File: $!\n"; $today_count = ; close(COUNT); if ($today_count =~ /\n$/) { chop($today_count); } if ($kdate == $day_file_count){ if ($COOKIE{'COUNT'} ne "Ä«¿îÅÍ"){$today_count++;} } else { $yes_count=$today_count; open(COUNT,">$yes_count_file") || die "Can't Open Count Data File For Writing: $!\n"; print COUNT "$yes_count"; close(COUNT); if ($max_count < $today_count) { $max_count = $today_count; open(COUNT,">$max_count_file") || die "Can't Open Count Data File For Writing: $!\n"; print COUNT "$max_count"; close(COUNT); } elsif ($min_count > $today_count) { $min_count = $today_count; open(COUNT,">$min_count_file") || die "Can't Open Count Data File For Writing: $!\n"; print COUNT "$min_count"; close(COUNT); } $today_count=1; } open(COUNT,">$today_count_file") || die "Can't Open Count Data File For Writing: $!\n"; print COUNT "$today_count"; close(COUNT); } sub get_current { unless (open(MYDIR, "$dir/logs")){ print `mkdir $dir/logs`; print `chmod 777 $dir/logs`; print `chmod 777 $dir`; } $user_ip=$ENV{'REMOTE_ADDR'}; opendir(MODIFY_FILE, "$dir/logs"); @modify_file = readdir(MODIFY_FILE); closedir(MODIFY_FILE); foreach $modify_file (@modify_file) { if (-f "$dir/logs/$modify_file") { if (-M "$dir/logs/$modify_file" > 60/60/24) { print `rm -rf $dir/logs/$modify_file`; } } } $login_data=join("||", "$year$mon$day$hour$min$sec"); unless (open(MYDIR, "$dir/logs/$user_ip")){ open(WRITE, "+>$dir/logs/$user_ip"); flock (WRITE, 8); print WRITE "$login_data\n"; close(WRITE); flock (WRITE, 2); print `chmod 777 $dir/logs/$user_ip`; } opendir(COUNT_FILE, "$dir/logs"); @count_file = readdir(COUNT_FILE); closedir(COUNT_FILE); foreach $count_file (@count_file) { if (-f "$dir/logs/$count_file") { $user_count++; } }#foreach¹® Á¾·á } #------------------ sub print_count { print "Set-Cookie: COUNT=Ä«¿îÅÍ;\r\n"; print "Content-type: text/html\n\n"; print "\n"; print ""; print "\n"; #_______________________________________ display1(¼¼·Î¹è¿­)___________________________________ if($where eq "1") { print "Àüü $total_count
\n"; print "¾îÁ¦ $yes_count
\n"; print "ÃÖ°í $max_count
\n"; print "¿À´Ã $today_count
\n"; } #_______________________________________ display2(°¡·Î¹è¿­)__________________________________ else { print "a22 $total_count9e88 $yes_count23s8 $max_count862a9 $today_count\n"; } #__________________________________________________________________________________________ print "\n\n"; exit; } sub cookie{ if($ENV{'HTTP_COOKIE'}) { @cookies = split(/; /,$ENV{'HTTP_COOKIE'}); foreach(@cookies) { ($name,$value) = split(/=/,$_); $COOKIE{$name} = $value; }} }