Marcus: ENV REMOTE_HOST ermitteln

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

  1. 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

    1. Hoffentlich hast Du mehr Glück :-)

      Nein, leider nicht :-(((

      Gruß,
        Marcus

      1. Hi,

        Hoffentlich hast Du mehr Glück :-)

        Nein, leider nicht :-(((

        hm, dann solltest Du mal mit Deinem Provider reden.

        Cheatah

      2. 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