Andy: Sessions und dauerhafter Login - Wie macht ihr das?

Hallo!

Frage: Wie macht ihr das, wenn ihr in euren Seiten Sessions verwendet (die eigentlich beim Browserschliessen beendet werden sollen) und gleichzeitig dem User die Möglichkeit geben wollt dauerhaft eingeloggt zu sein (also über die Browsersession hinaus)?
Ist die Tendenz einfach zum Extracookie fürs eingeloggt sein?

Die andere Variante wäre ja, das Sessioncookie länger als die Browsersitzung gelten zu lassen. Wobei dann die Sessiondaten ja aufm Server sowieso irgendwann flöten gehen würden.
Wäre aber egal, wenn man speichert, derjenige der jetzt mit diesem (veralteten) Sessioncookie kommt, ist es.

Also: Die Zwei-Cookie-Variante, einmal Session-Cookie und einmal Dauerlogin-Cookie? oder die Ein-Cookie-Variante nur mit dem (veralteten) Session-Cookie?

Wie macht ihrs?

Danke!

Gruß,
Andy

  1. Moin!

    Also: Die Zwei-Cookie-Variante, einmal Session-Cookie und einmal Dauerlogin-Cookie? oder die Ein-Cookie-Variante nur mit dem (veralteten) Session-Cookie?

    Drei Cookies. Ein Session-Cookie mit der aktuellen Session-ID, ein dauerhaftes mit dem Usernamen und ein dauerhaftes mit dem Passwort.

    Wenns ans Login geht, und die Zugangsdaten benötigt werden, kann man in $_COOKIE nachsehen, ob sie schon geliefert werden, ansonsten muß man per Formular nachfragen.

    Hinsichtlich des Sicherheitsniveaus sehe ich keinerlei Unterschied, weil Formulardaten auch unverschlüsselt übermittelt werden. Auch ein Hashing z.B. des Passwortes im Cookie bringt nichts, weil das Serverskript entweder das uncodierte Passwort oder den Hash im Klartext erhält. Das Passwort würde auf dem Server gehasht, der Hash würde direkt übernommen (und ggf. in einem Mechanismus eingebaut, der dann nochmal einen Hash erzeugt, der mit der Datenbank abgeglichen wird). Wenn der Hash einem Dritten bekannt wird, erhält er damit Zugriff, genau wie mit dem Passwort.

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Naja wenn das Pass gehast ist, und man z.B. für eine Änderung des Passwortes noch einmal das alte verlangt etc., hat es zumindest den vorteil, das der bisherige Nutzer nicht so ohne weiteres ausgesperrt werden kann etc.
      Und wer garatniert einem, das ein Nutzer nicht z.B. für sein Mail Postfach das selbe Pass nutzt? Klar, irgendwo selber schuld, aber wenn mans verhindern bzw. erschweren kann, warum denn nicht? Der Aufwand dafür ist ja nicht wirklich größer.

      1. Moin!

        Naja wenn das Pass gehast ist, und man z.B. für eine Änderung des Passwortes noch einmal das alte verlangt etc., hat es zumindest den vorteil, das der bisherige Nutzer nicht so ohne weiteres ausgesperrt werden kann etc.

        Auf welches Szenario beziehst du dich? Für was steht das "etc." am Satzende?

        Und wer garatniert einem, das ein Nutzer nicht z.B. für sein Mail Postfach das selbe Pass nutzt? Klar, irgendwo selber schuld, aber wenn mans verhindern bzw. erschweren kann, warum denn nicht? Der Aufwand dafür ist ja nicht wirklich größer.

        Auf welches Szenario beziehst du dich?

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. hi,

          Naja wenn das Pass gehast ist, und man z.B. für eine Änderung des Passwortes noch einmal das alte verlangt etc., hat es zumindest den vorteil, das der bisherige Nutzer nicht so ohne weiteres ausgesperrt werden kann etc.

          Auf welches Szenario beziehst du dich?

          Auf das, in dem du mir meinen Cookie klaust, dich damit einloggst, und dann mein Passwort änderst.

          Die Funktionalität Passwort ändern wird idR. dadurch abgesichert, dass ich (/du) mein altes Passwort noch mal eingeben muss, wenn ich ein neues haben will.

          Hast du mir nur Has(c)h geklaut, kannst du das nicht.
          Konntest du das Passwort im Klartext aus dem Keks nehmen, hast du mich im Nu aus meinem Account ausgesperrt.

          "Vorteil" bei letzterem könnte aber sein, dass ich so wenigstens bemerke, dass etwas vorgefallen sein muss.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo!

    Erstmal danke für die bisherige Antwort und die Bemerkungen dazu. Persönlich find ich eine 3-Cookie-Variante übertrieben.

    Möchte hier mal über die 1-Cookie-Variante diskutieren: Stell mir das so vor, das in der DB (oder Textdatei), in der die Logindaten gespeichert werden, nach dem initialen Einloggen die aktuelle SessionID gespeichert wird.
    Wenn dann derjenige wieder mit dem Session-Cookie wieder frisch auf die Seite kommt, kann man ja in der Datenbank nachschauen, ob es diese ID gab. Wenn ja, neue Session starten und die neue ID in die DB schreiben.

    Sinnig oder nicht?

    Gruß,
    Andy

  3. Hallo!

    Ich ping meinen Thread nochmal an, weil ich mit der "Fülle" der Antworten noch nicht zu Frieden bin. :-)

    Gruß,
    Andy