PHP Sessions + "Remember Me"-Cookies = ?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • PHP Sessions + "Remember Me"-Cookies = ?

    Hey,
    ich habe mir die letzten Tage Gedanken über PHP Sessions und "Remember Me"-Cookies gemacht und auch nach Best Practices gesucht.
    Die wirklichen Best Practices blieben irgendwie aus und auf Stackoverflow wurden Posts akzeptiert, welche besagten, dass man die User ID und Passwort im Cookie speichern soll.
    Nach längerem recherchieren habe ich herausgefunden, dass es wohl am besten ist, wenn man einen Token im Cookie speichert und nach diesem in seiner Userdatenbank sucht, um die PHP Session zu "reaktivieren".

    Wenn man nach diesem Verfahren vorgeht, dann hat man zwei Cookies. Ein mal die PHPSESSID und einmal sein "Remember Me"-Cookie mit einem Token (Hash). Also im Prinzip dann zwei Cookies, die sich von ihrem Wert eigentlich nicht unterscheiden, da sie beide eine ID beinhalten.

    Und jetzt bin ich an einem Punkt angelangt, wo ich mich Frage, wieso man dann quasi eine Duplizierung hat? Eine ID ("Remember Me"-Cookie), um seine nicht mehr vorhandene ID (PHPSESSID) wiederherzustellen.

    Heutzutage will man doch, dass der User länger als eine Session lang eingeloggt bleibt - was ja auch der Sinn der "Remember Me"-Cookies ist.
    PHP's Sessions sind aber als Sessions gedacht (wer hätts gedacht :P), die nur standardmäßig 20 Minuten (?) halten. Man möchte doch aber eigentlich Sessions, die nicht ablaufen ^^


    So und nun klärt mich bitte auf ^^
  • Hi,
    also meistens läuft es doch so ab, dass im einen die UserID und im anderen ein Hash aus (E-Mail, gekürztem Passwort, etc) ist.
    Den Hash verwendet man, damit - wenn ich das Passwort am einen Rechner ändere - alle anderen Rechner ausgeloggt werden.
    Und die UserID verwende ich unabhängig vom Hash, damit der Hash alleine nicht mit anderen Hashs kollidiert.
    Unabhängige Datenfelder ermöglichen dir Usability-technisch auch einen Hinweis zu geben wie: Hallo Torben, du bist nicht mehr eingeloggt. Hast du dein Passwort geändert?

    Ansonsten betrachte ich Sessions sowieso losgelöst vom Login (Cookie).
    In der Session speichere ich Sachen, die nicht persistiert werden müssen.

    Ich fürchte ich habe dir nicht wirklich geholfen, vielleicht waren dennoch ein paar Gedanken zu "session VS cookie" und "token VS userid" dabei ;)