Hallo,
Guten tag,
$ip_now = $ENV{'REMOTE_ADDR'};
$ip_ab = "64.2.240.1";
@ip_ac =~ split(/^\d+.\d+.\d+.\d+$/);
Muss man $ip_ab nicht splitten mit @ip_ac um die ip genau zu
formulieren? Desshalb diese zeile.
Wozu dient hier die Zeile, ich komm da irgendwie nicht ganz mit.
foreach $ip_ab (@ip_ac)
{
if ($ip_ab == $ip_now)
Die variable $ip_now wird benötigt noch für eine zweite funktion
die aber eigentlich nichts mit der überprüfung von der liste zu tun hat.
Du hast hier Strings und keine Zahlen, also eq statt == .Verwendest du nicht -w und use strict ?
hab ich schon aber nützt mir nicht viel,da der browser nur
"Software error:
Execution of /homepages/16/d1234567/htdocs/temp1/indextest.cgi
aborted due to compilation errors."meldet.
Wie übrigens auch bei Deinem Beispiel. >>>>?
{print "Content-type: text/html\n\n";
print "your IP $ip_now was banned from this chat\n";}}
Hmmm hier mal eine Möglichkeit :
#!/usr/bin/perl -w
use strict;
my @gesperrte_ips = ('212.34.57.14','47.2.234.6','12.234.75.2','255.67.4.21','195.3.133.87','93.45.2.46');
print "Content-type:text/html\n\n";
foreach(@gesperrte_ips) {
if ($_ eq $ENV{'REMOTE_ADDR'}) {
print "Deine IP $_ ist gesperrt !\n";
}
}
Kann es sein dass wenn einmal ein fehler passiert ist der server nur noch dies meldet?
Mein host ist bei puretec.
Gruss vom Alain