Herbert: sessionID oder HTTP-X-Forwarded-For

Hallo,

ich weiss diese Thema wurde hier schon des Öfteren behandelt, aber ich habe im Archiv keine befriedigende Antwort gefunden.

Mit ASP ist es möglich per SessionID einen Besucher zu identifizieren solange er mit dem gleichen Browserfenster online ist.
Wenn er die Seite verlässt und in der gleichen Sitzung mit dem gleichen Browserfenster zurück kommt, kann er identifiziert werden.
Das ganze funktioniert ohne Cookies!

Wie kann man das mit CGI/Perl Mitteln anstellen?
Ich stosse hier immer wieder auf die HTTP-X-Forwarded-For  Variable.
Wie kann man diese Variable eigentlich auslesen und wäre diese Variable vergleichbar mit der Funktionalität der SessionID?

Viele Gruesse

Herbert

  1. Hi Herbert,

    Mit ASP ist es möglich per SessionID einen Besucher zu identifizieren solange er mit dem gleichen Browserfenster online ist.
    Wenn er die Seite verlässt und in der gleichen Sitzung mit dem gleichen Browserfenster zurück kommt, kann er identifiziert werden.
    Das ganze funktioniert ohne Cookies!

    Das ist IMHO falsch - die Sessionsvariablen sind sehr wohl Cookies, sie heißen jetzt bloß anders. Im IE kannst Du unter Sicherheitseinstellungen unterscheiden zwischen temporären Cookies (= Sessionvariablen) und dauerhaften Cookies - NS lässt diesen Unterschied AFAIK nicht zu, da geht nur entweder alle Cookies oder gar keine.

    Grüße,

    Utz

    1. Hallo Utz,

      Hi Herbert,

      Mit ASP ist es möglich per SessionID einen Besucher zu identifizieren solange er mit dem gleichen Browserfenster online ist.
      Wenn er die Seite verlässt und in der gleichen Sitzung mit dem gleichen Browserfenster zurück kommt, kann er identifiziert werden.
      Das ganze funktioniert ohne Cookies!

      Das ist IMHO falsch - die Sessionsvariablen sind sehr wohl Cookies, sie heißen jetzt bloß anders. Im IE kannst Du unter Sicherheitseinstellungen unterscheiden zwischen temporären Cookies (= Sessionvariablen) und dauerhaften Cookies - NS lässt diesen Unterschied AFAIK nicht zu, da geht nur entweder alle Cookies oder gar keine.

      Stimmt, hab beim ersten Test vergessen den Punkt "Cookies pro Sitzung annehmen" abzuschalten.

      Naja, dann nehm ich mal an das Ganze lässt sich mit Perl nur mit normalen Cookies lösen oder weisst Du da mehr?

      Gruesse

      Herbert

  2. Hi,

    Mit ASP ist es möglich per SessionID einen Besucher zu identifizieren solange er mit dem gleichen Browserfenster online ist.
    Wenn er die Seite verlässt und in der gleichen Sitzung mit dem gleichen Browserfenster zurück kommt, kann er identifiziert werden.
    Das ganze funktioniert ohne Cookies!

    die SessionID wird abhängig von was-weiß-ich (Zeit, IP, Prozeß-ID...) so erstellt, daß sie eindeutig ist, und im GET-Request mitgeliefert.

    Wie kann man das mit CGI/Perl Mitteln anstellen?

    Ebenso vorgehen.

    Ich stosse hier immer wieder auf die HTTP-X-Forwarded-For  Variable.
    Wie kann man diese Variable eigentlich auslesen

    Womit? Wenn Du Perl benutzt, steht sie wie jede andere Umgebungsvariable in %ENV ($ENV{'HTTP_X_FORWARDED_FOR'}).

    und wäre diese Variable vergleichbar mit der Funktionalität der SessionID?

    Nein, nicht mal im Ansatz. In der Regel ist X-Forwarded-For leer, weil niemand forgewarded hat. In Verbindung mit REMOTE_ADDR ist sie aber schon recht brauchbar.

    Cheatah

    1. Hallo Cheatah,

      Hi,

      Mit ASP ist es möglich per SessionID einen Besucher zu identifizieren solange er mit dem gleichen Browserfenster online ist.
      Wenn er die Seite verlässt und in der gleichen Sitzung mit dem gleichen Browserfenster zurück kommt, kann er identifiziert werden.
      Das ganze funktioniert ohne Cookies!

      die SessionID wird abhängig von was-weiß-ich (Zeit, IP, Prozeß-ID...) so erstellt, daß sie eindeutig ist, und im GET-Request mitgeliefert.

      Wie kann man das mit CGI/Perl Mitteln anstellen?

      Ebenso vorgehen.

      Ich stosse hier immer wieder auf die HTTP-X-Forwarded-For  Variable.
      Wie kann man diese Variable eigentlich auslesen

      Womit? Wenn Du Perl benutzt, steht sie wie jede andere Umgebungsvariable in %ENV ($ENV{'HTTP_X_FORWARDED_FOR'}).

      und wäre diese Variable vergleichbar mit der Funktionalität der SessionID?

      Nein, nicht mal im Ansatz. In der Regel ist X-Forwarded-For leer, weil niemand forgewarded hat. In Verbindung mit REMOTE_ADDR ist sie aber schon recht brauchbar.

      »»

      Heisst das zusammengefasst, daß dies ohne Cookies eindeutig nicht möglich ist?
      (Zwischenzeitlich hat sich herausgestellt, daß auch die SessionID mit temporären Cookies arbeitet, die nur im IE abgestellt werden können. In anderen Browsern werden die normalen Cookies eingesetzt.)

      Viele Gruesse

      Herbert

      1. Hi,

        Heisst das zusammengefasst, daß dies ohne Cookies eindeutig nicht möglich ist?

        das heißt im Klartext, daß man über das Thema "Benutzeridentifizierung" ganze Doktorarbeiten schreiben könnte. Eine SessionID kannst Du im Grunde aus time.$$ (Perl-Syntax, also Zeit und Prozeß-ID) zusammensetzen; die Zuordnung muß dann halt auf dem Server geschehen und ist auch auf diesen beschränkt (d.h. die SessionID ist übertragbar auf andere Clients, Benutzer, Rechner, IP-Adressen etc.)

        (Zwischenzeitlich hat sich herausgestellt, daß auch die SessionID mit temporären Cookies arbeitet, die nur im IE abgestellt werden können. In anderen Browsern werden die normalen Cookies eingesetzt.)

        PHP hat offenbar auch ein recht gutes Sessionmanagement, das - so vermute ich - nicht auf Cookies basiert. Vielleicht schaust Du Dir das mal an.

        Cheatah