IP überprüfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • IP überprüfen

    Servus,

    ich habe ein Programm mit Session-System geschrieben.
    Wegen der Sicherheit, überprüfe ich die IP vom User mit der,
    in der Session-Datei und zwar mit folgender Funktion:

    PHP-Code:
    function GetIP()
    {
      if (
    getenv("HTTP_X_FORWARDED_FOR"))
      {
        return 
    getenv("HTTP_X_FORWARDED_FOR");
      }
      else
      {
        return 
    getenv("REMOTE_ADDR");
      }

    Wenn die Umgebungsvariable HTTP_X_FORWARDED_FOR existiert
    (hat glaub ich irgendwas mit manchen Apache Servern zu tun),
    dann soll er diese benutzen, anderen Falls benutzt er REMOTE_ADDR als IP!

    Jetzt möchte ich euch fragen ob ihr denkt,
    das man immer die richtige IP des Users bekommt.

    Danke schonmal im vorraus!

    cYa

  • #2
    Nein ... auf gar keinen Fall ... HTTP_X_FORWARDED_FOR enthält, beim Zugriff über einen Proxy, soweit dieser es unterstützt, die IP-Adresse des Clients der die Request an den Proxy gestellt hat, während in diesem Falle REMOTE_ADDR die Adresse des Proxy's enthält ...

    Nur leider enthält diese Variable sehr oft Adressen die nicht dem realen IP-Raum entsprechen ... ( 192.168.0.0/16 ) ... und genau diese würdest Du ermitteln ... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Also soll ich immer nur die REMOTE_ADDR nehmen?

      Kommentar


      • #4
        Nimm was Du kriegen kannst.
        Goth's Antwort hat Deine Frage betroffen:
        "Jetzt möchte ich euch fragen ob ihr denkt, das man immer die richtige IP des Users bekommt."

        Du bekommst eine IP Adresse, aber Du kannst Dich nicht darauf verlassen, dass diese IP Adresse jene des Users ist. Es kann auch eine Proxy-Adresse sein, dafür ist ein Proxy in seiner Stellvertreterfunktion ja da. Es kann sein, dass sich die IP Adresse des Users während er mit dem Webserver kommuniziert einfach ändert, es kann auch sein, dass sich diese bei jedem Request ändert.

        In vielen Fällen wird das ja was Du vor hast funktionieren, aber eben nicht in jedem Fall. Manche Sessions wirst Du beenden, weil die IP Adresse nicht (mehr) übereinstimmt. Manche Kunden werden überhaupt nicht arbeiten können. Weder die eine, noch die andere IP Adresse ist eine Konstante.

        Kommentar


        • #5
          Scheisse!

          Und da kann man überhauptnix machen?

          Kommentar

          Lädt...
          X