Leser: 25
2010-07-02T23:27:46 EscapeIch ermittle den Referrer sowie die IP des Referrers
2010-07-03T14:47:22 pqvielleicht wäre ja sogar ein code-schnipsel möglich?
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
sub get_remote_addr {
exists $ENV{'REMOTE_ADDR'} && do {
$ENV{'REMOTE_ADDR'}
? return $ENV{'REMOTE_ADDR'}
: return 'empty';
};
return 'empty';
}
sub get_referrer {
exists $ENV{'HTTP_REFERER'} && do {
$ENV{'HTTP_REFERER'}
? return $ENV{'HTTP_REFERER'}
: return 'empty';
};
return 'empty';
}
sub get_client_ip {
exists $ENV{'HTTP_CLIENT_IP'} && do {
($ENV{'HTTP_CLIENT_IP'} and $ENV{'HTTP_CLIENT_IP'} ne '127.0.0.1')
? return $ENV{'HTTP_CLIENT_IP'}
: return 'empty';
};
return 'empty';
}
sub get_x_ip_client {
exists $ENV{'X_CLIENT_IP'} && do {
($ENV{'X_CLIENT_IP'} and $ENV{'X_CLIENT_IP'} ne '127.0.0.1')
? return $ENV{'X_CLIENT_IP'}
: return 'empty';
};
return 'empty';
}
sub get_http_via {
exists $ENV{'HTTP_VIA'} && do {
($ENV{'HTTP_VIA'} and $ENV{'HTTP_VIA'} ne '127.0.0.1')
? return $ENV{'HTTP_VIA'}
: return 'empty';
};
return 'empty';
}
sub get_x_forwarded {
exists $ENV{'HTTP_X_FORWARDED_FOR'} && do {
($ENV{'HTTP_X_FORWARDED_FOR'} and $ENV{'HTTP_X_FORWARDED_FOR'} ne '127.0.0.1')
? return $ENV{'HTTP_X_FORWARDED_FOR'}
: return 'empty';
};
return 'empty';
}
sub get_client_host {
my $client_ip = shift;
my ($ip_addr, $client_host);
$client_ip ne 'empty'
? do {
$ip_addr = inet_aton($client_ip) || 'N/A';
$client_host = gethostbyaddr($ip_addr, AF_INET) || 'N/A';
length($client_host) < 3 && ($client_host = 'N/A');
}
: ($client_host = 'N/A');
\$client_host;
}
2010-07-04T12:25:05 GwenDragonDir ist bestimmt bewusst, dass im HTTP_REFERER alles drinstehen kann.
Also auch Code, den Perl bei einer Ausgabe ausführen könnte.
2010-07-04T12:30:12 EscapeNun zurück zum ursprünglichen Thema?
2010-07-04T12:31:14 pqsind ja jetzt ein paar fragen gestellt worden, die du noch nicht beantwortet hast.
Quoteund wie ermittelst du die "IP des referrers"? mit `host` o.ä.?
2010-07-04T12:37:47 pq
1
2
3
4
5
6
7
8
9
10
11
12
13
14
sub get_client_host {
my $client_ip = shift;
my ($ip_addr, $client_host);
$client_ip ne 'empty'
? do {
$ip_addr = inet_aton($client_ip) || 'N/A';
$client_host = gethostbyaddr($ip_addr, AF_INET) || 'N/A';
length($client_host) < 3 && ($client_host = 'N/A');
}
: ($client_host = 'N/A');
\$client_host;
}
2010-07-04T12:48:09 pqder gezeigte schnipsel liefert den host zur client ip.