Ich probiere mich gerade an einer opt_out.pl aber das Script löscht mir die gesamte Datei:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use Fcntl qw(:flock);
my $htaccess_file = "/var/www/html/.test";
my $cgi = CGI->new;
my $param_IP = $cgi->param('IP'); # Hole den Parameter IP (=Inhalt der Textarea)
#my $client_ip = $ENV{'REMOTE_ADDR'}; # ermittle IP des Clients, sollte bei CGI gesetzt sein
my $client_ip = "192.168.155.250";
print($client_ip);
if($client_ip =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/)
{
$client_ip = $1;
}
chomp($client_ip);
if($client_ip =~ m/^(\d\d?\d?)\.(\d\d?\d?)\.(\d\d?\d?)\.(\d\d?\d?)$/)
{
print("\n$client_ip gefunden\n");
if($1 <= 255 && $2 <= 255 && $3 <= 255 && $4 <= 255)
{
print("Jeder Bereich der IP ist gültig - $1.$2.$3.$4\n");
print("\n$client_ip ist eine IPv4\n");
use Fcntl qw(:flock);
open(my $htaccess_file,">", $htaccess_file) or die "Kann Datei nicht öffnen: $!";
while (<$htaccess_file,>) {
my $line = $client_ip;
my @result = grep ($client_ip);
}
close($htaccess_file) or die "Kann Datei nicht schliessen $!";
}
else
{
print("\n$client_ip ist keine gültige IPv4\n");
}
}
else
{
print("\n$client_ip hat das falsche Format\n");
}
print $cgi->header(
-status => '204 No Content',); # only HTTP header is in response
__END__;
Perl ist als Nichtprgrammierer echt schwer.