| |
¥N½X¡G
Ng@I5 my $yday = (localtime(time))[7]; ##¨ú±o·í¤é¬°¥þ¦~²Ä´X¤ÑlL%Ch my $addr = $ENV{'REMOTE_ADDR'} || '0.0.0.1'; ## Command mode ´ú¸Õw' my $fp;xw my $myhits = 0;Z) open ($fp, '+<', 'limit.dat') || open ($fp, '>', 'limit.dat');LvJP binmode ($fp);H~ read ($fp, my $limitday, 2);XLw my $limitday = unpack ('S', $limitday);#)e,X8 if ($limitday ne $yday) {yt!nX seek ($fp, 0, 0);1 print $fp pack ('S', $yday);fz truncate ($fp, 2);##«¸mÀɮפj¤pSM[ } else {|q while (! eof ($fp)) {Mym1h read ($fp, my $tmp, 5);c"L my ($classa, $classb, $classc, $classd, $hits) = unpack ('CCCCC', $tmp);&Y2R)? if (join ('.', $classa, $classb, $classc, $classd) eq $addr) {##§ä´M¬O§_¦s¦b°O¿ýn seek ($fp, -5, 1);A.6gOb $myhits = $hits;pu1P2L $myhits = 254 if ($myhits eq 255);oV last;:J~aI }<Rp'` }fyc.>8 }©¹p¶ÆÁcÅ餤¤åºô -- ¹p¶Æ±MÄݰQ½×ºô¡A±´°Q¤@¤Á¦³Ãö¹p¶ÆÁcÅ骩¥»ªº¬ÛÃö°ÝÃD»P§Þ³N¤ä´©¡I¡@¡@ N|G1 print $fp pack ('CCCCC', split (/\./, $addr), ++$myhits);t[]|u close ($fp);J $Limit = 5;OEJg if($myhits > $Limit){Mz &error("´¶³q¿ù»~&©êºp¡I«D·|û¤@¤Ñ¤º¥u¯àÂsÄý $Limit ¦¸¤å³¹");# }©¹p¶ÆÁcÅ餤¤åºô -- ¹p¶Æ±MÄݰQ½×ºô¡A±´°Q¤@¤Á¦³Ãö¹p¶ÆÁcÅ骩¥»ªº¬ÛÃö°ÝÃD»P§Þ³N¤ä´©¡I¡@¡@ f
|
|
NS5u °ò©ó IPV4 »P¤G¶iªº¼Æ¾Ú®w¦¡½s¼g¤èªk¡A¥i¥H§ó´î¤p¨t²Î¸ê·½»P¥[§Ö¹B¦æ¶i«×- ·§©À¥N½X¦p¤W¡A¦ÓÂsÄý¨îªº¤WȬ°254&}xa
| | |
ª©Åv©Ò¦³¡A¤£±o¾Õ¦ÛÂà¸ü
|
¹p¶ÆÁcÅ餤¤åºô¼s§i¦ì¸m
|
|