Client-Side Sessions

Du hast eine Idee für ein Projekt?
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Client-Side Sessions

Beitragvon mitsuhiko » Montag 17. Dezember 2007, 10:13

Rails 2 bringt ja eine Neuerung, die ich gleich für Werkzeug übernehmen musste: Client-seitige Sessions. Die Idee ist, dass die Session Daten im Cookie selber stecken und nicht am Server in einer Datei/Datenbank.

Vorteile: schnell, keine Session ID zum klauen, man muss Sessions nicht nach einiger Zeit wieder leeren
Nachteile: man kann sehen was im Cookie steckt, die Größe ist begrenzt

Was haltet ihr davon? Wenn man bedenkt, dass man eh immer nur die user id in der Session speichert denke ich, dass das eine hervoragende Alternative zu normalen Sessions ist.

Hier die Werkzeug Implementierung davon.

Besonders bei der Werkzeug Implementierung würde mich interessieren, ob jemand Bedenken bei der Sicherheit hat. Ich bin nicht sonderlich gut in Kryptographie, also könnte ich irgendwas übersehen haben.

Implementiert ist es so, dass es einen Salt und einen Secret Key gibt. Salt + Secret Key + gepickelter Wert aufsummiert ergibt dann die Checksumme. Vor dem unpicklen wird die Checksumme am Server neu berechnet und dann verglichen.

Ein Beispielcookie sieht so aus:

Code: Alles auswählen

session="b226e?f1b6e8d104811ca309795909e401e95c5844bd8c?
_expires=J_%BB%8DG.&user_id=L1L%0A.&permanent_login=I00%0A."
TUFKAB – the user formerly known as blackbird

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder