LINUX.ORG.RU

Perl


0

0

написал скрипт на сабже(делает следующее если текущий ip адрес совпадает с ip в файлике то ERROR) 
Проблемма в том что если онин IP в файле всё работает корректно ,а вот если 2 или 3 и тд..
то он выводит и сообщение об ошибке (так как из всех ip в файле есть ip запрещённый) и выводит ok так как все остальные ip не данной машины..

Как бороть? (если не понятно что я хочу) проверьте сами скрипт прилогаю......

Может кто поможет побороть...

#!/usr/bin/perl                                       
$dir = "/usr/local/apache/share/htdocs/chat/cgi-bin"; 
$ipac = "$dir/ipaccess.txt";                          
use Env qw(REMOTE_ADDR);                              
use Env qw(REMOTE_HOST);                              
$ipaddr=$REMOTE_ADDR;                                 
$host=$REMOTE_HOST;                                   
##                                                    
open (FIL, "< $ipac");                                
while (<FIL>)                                         
{                                                     
chomp $_;                                             
if ($_ eq $ENV{'REMOTE_ADDR'}) {                      
print "Content-type: text/html\n\n";                  
print "Error" $ipaddr; } else {                               
print "Content-type: text/html\n\n";                  
print "Cool $ipaddr"; }}                              
close FIL;                                            
exit;                                                 
anonymous

#!/usr/bin/perl                                       
$dir = "/usr/local/apache/share/htdocs/chat/cgi-bin"; 
$ipac = "$dir/ipaccess.txt";                          
use Env qw(REMOTE_ADDR);                              
use Env qw(REMOTE_HOST);                              
$ipaddr=$REMOTE_ADDR;                                 
$host=$REMOTE_HOST;                                   
##                                                    

print "Content-type: text/html\n\n";                  

open (FIL, "< $ipac");                                
while (<FIL>)                                         
{                                                     
   chomp $_;                                             
   if ($_ eq $ENV{'REMOTE_ADDR'}) {                      
       print "Error" $ipaddr; 
       close FIL;
       exit;
   } 
}                               
print "Cool $ipaddr"; }}                              
close FIL;                                            
exit;                                                 

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.