ENV REMOTE_HOST ermitteln
Marcus
- cgi
0 Cheatah0 Marcus0 Cheatah0 Beat Strasser
Hi.
Ich möchte eines der zahlreichen CGI-Statistik-Skripts nutzen. Die Installation an sich ist kein Problem, doch mein Provider stellt die Remote_Host-Envirement-Variable nicht zur Verfügung. Die IP-Adresse wird jedoch erfaßt.
Meine Frage: Wie kann ich automatisch mit Hilfe der IP-Adresse die Domain des aufrufenden Users ermitteln?
Hoffentlich geht es überhaupt...! In diesem Sinne,
Marcus
Hi,
Ich möchte eines der zahlreichen CGI-Statistik-Skripts nutzen. Die Installation an sich ist kein Problem, doch mein Provider stellt die Remote_Host-Envirement-Variable nicht zur Verfügung. Die IP-Adresse wird jedoch erfaßt.
Meine Frage: Wie kann ich automatisch mit Hilfe der IP-Adresse die Domain des aufrufenden Users ermitteln?
ich benutze dazu folgende Routine:
if (($ENV{'REMOTE_HOST'} eq $ENV{'REMOTE_ADDR'}) && ($ENV{'REMOTE_ADDR'} =~ /(\d+).(\d+).(\d+).(\d+)/)) {
$Address = pack('C4', $1, $2, $3, $4);
$DNS_Address = (gethostbyaddr($Address, 2))[0];
$ENV{'REMOTE_HOST'} = $DNS_Address if $DNS_Address;
}
$ENV{'REMOTE_HOST'} =~ tr/[A-Z]/[a-z]/;
Bei einem Serverwechsel funktionierte das plötzlich auch nicht mehr; der Provider mußte da erst etwas einstellen. Hoffentlich hast Du mehr Glück :-)
Cheatah
Hoffentlich hast Du mehr Glück :-)
Nein, leider nicht :-(((
Gruß,
Marcus
Hi,
Hoffentlich hast Du mehr Glück :-)
Nein, leider nicht :-(((
hm, dann solltest Du mal mit Deinem Provider reden.
Cheatah
Hi there
Hoffentlich hast Du mehr Glück :-)
Nein, leider nicht :-(((
Also bei mir geht das folgendermassen:
use IO::Socket;
$ENV{'REMOTE_HOST'} = gethostbyaddr(inet_aton($ENV{'REMOTE_ADDR'}), AF_INET) or $ENV{'REMOTE_ADDR'};
Gruss,
Beat