cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > Knowledge Base > Besucher IP --> Hostname

Besucher IP --> Hostname

Manchmal möchte man gerne aus der IP-Adresse den Hostname ermitteln, so dass z.B. in Gästebüchern oder Statistiken das Land abgeleitet werden kann. Die IP 188.60.195.124 sollte dann also z.B. nach 124-195.60-188.cust.bluewin.ch aufgelöst werden.

Bekanntermassen speichert Perl die IP in der Umgebungsvariable $ENV{"REMOTE_ADDR"}. Um diese IP in den Hostname aufzulösen sind folgende Zeilen notwendig:

$iaddr = inet_aton($ENV{"REMOTE_ADDR"});
$HOST  = gethostbyaddr($iaddr, AF_INET);

Damit dies funktioniert muss im Script noch use Socket; eingetragen werden. Der Hostname der aktuellen IP des Besuchert steht nun in der Variable $HOST. Natürlich kann auch eine x-beliebige andere IP nach dem Hostnamen aufgelöst werden. Dazu muss sie einfach an der Stelle von $ENV{"REMOTE_ADDR"} eingetragen werden.

Weiterführende Links

Autor: Jürg Sommer, knowledge@cgicorner.ch

[ zurück ]