markus: Session automatisch gelöscht?

hi,

ich wollt mal wissen wie des mit den sessions ist.

der benutzer kriegt eine session_id zugeteilt. wenn der benutzer jetzt den browser schliesst, dann bekommt er ja wieder eine neue.

mal angenommen es handelt sich um einen warenkorb:
dann ist der warenkorb ja jetzt wieder leer, weil die session nicht mehr mit der alten übereinstimmt.

jetzt meine frage:

ist die alte session mit den gespeicherten artikeln dann immer noch auf dem server gespeichert oder werden die nach dem schliessen des browser gelöscht.

danke im voraus

  1. Hallo Markus,

    der benutzer kriegt eine session_id zugeteilt. wenn der benutzer jetzt den browser schliesst, dann bekommt er ja wieder eine neue.

    Nicht ganz. Wenn er die Seite neu besucht, _kann_ der Benutzer eine neue Session-ID bekommen. Du kannst aber die Session-ID auch in einem Cookie beim Benutzer speichern, und er bekommt beim nächsten Besuch seine alte Session-ID wieder.

    ist die alte session mit den gespeicherten artikeln dann immer noch auf dem server gespeichert oder werden die nach dem schliessen des browser gelöscht.

    Das hängt von Dir bzw. von deiner Programmierung ab. Du kannst die Session-ID nach einem timeout löschen, du kannst ie per URL von Seite zu Seite übermitteln, Du kannst Sie als Cookie speichern...

    Ich persönlich reiche die Session per URL von Seite zu Seite (wobei ich mir mal das Modul mod_rewrite genauer ansehen sollte). Nach einem timeout schmeisse ich alte Sessions aus der Datenbank.

    Gruß
    Helmut Weber

    --
    -------------------------------------------
    Mode ist eine Variable, Stil eine Konstante
    1. Ich persönlich reiche die Session per URL von Seite zu Seite (wobei ich mir mal das Modul mod_rewrite genauer ansehen sollte). Nach einem timeout schmeisse ich alte Sessions aus der Datenbank.

      hi,

      aber wie machst du das mit den timeout.

      1. 'n Abend Markus,

        aber wie machst du das mit den timeout.

        Ich habe mir in Perl z.B. ein eigenes Modul geschrieben, mit dem ich meine Session-IDs verwalten kann.
        Wenn sich jetzt ein Benutzer erfolgreich anmeldet, vergebe ich dem Benutzer eine neue Session-ID und lösche alle Session-IDs aus der Datenbank, die älter als x-Stunden sind.
        Wenn ich nun in anderen Programmteilen auf Daten einer Session-ID zugreife, aktualisiere ich immer die Zeit des letzten Zugriffs auf die Session-ID.

        Gruß
        Helmut Weber

        --
        -------------------------------------------
        Mode ist eine Variable, Stil eine Konstante
        1. 'n Abend Markus,

          aber wie machst du das mit den timeout.
          Ich habe mir in Perl z.B. ein eigenes Modul geschrieben, mit dem ich meine Session-IDs verwalten kann.
          Wenn sich jetzt ein Benutzer erfolgreich anmeldet, vergebe ich dem Benutzer eine neue Session-ID und lösche alle Session-IDs aus der Datenbank, die älter als x-Stunden sind.
          Wenn ich nun in anderen Programmteilen auf Daten einer Session-ID zugreife, aktualisiere ich immer die Zeit des letzten Zugriffs auf die Session-ID.

          ja genau den gleichen weg hab ich schon die ganze zeit im kopf.
          ich konnt mir nur nicht vorstellen das das alle so kompliziert machen, aber wahrscheinlich geht es nicht anders.

          ich kann mir des aber noch so vorstellen, dass die größeren webseiten z.B. quelle ihre sessions mit cronjobs löschen.

          1. Guten Morgen Markus,

            ich kann mir des aber noch so vorstellen, dass die größeren webseiten z.B. quelle ihre sessions mit cronjobs löschen.

            Bei größeren Internet-Auftritten macht das durchaus Sinn. Aber ich bin bisher noch nicht an ein Performance-Problem beim Anmeldevorgang gestossen.

            Gruß
            Helmut Weber

  2. Hi markus,

    der benutzer kriegt eine session_id zugeteilt. wenn der benutzer jetzt den browser schliesst, dann bekommt er ja wieder eine neue.
    mal angenommen es handelt sich um einen warenkorb:
    dann ist der warenkorb ja jetzt wieder leer,

    welcher Warenkorb? Der Warenkorb "gehört" nicht dem Benutzer! Er gehört der Session-ID.
    Und ob diese Session noch einen Benutzer hat oder nicht, das hängt von Deiner Session-Implementierung ab (Cookies wurden explizit genannt).

    ist die alte session mit den gespeicherten artikeln dann immer noch auf dem server gespeichert
    oder werden die nach dem schliessen des browser gelöscht.

    Das kommt darauf an, wie die Software auf dem Server arbeitet. Üblicherweise bekommt sie das Schließen des Browsers nicht mit (das könnte ja durch einen Bluescreen erfolgt sein ... ;-) und sollte sich daher über Plausibilitäts-Tests (timeouts etc.) irgendwie anders zu helfen wissen.

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
     => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.