Frank Jonas: Sessions in mySQL Datenbank speichern

Beitrag lesen

Hallo,

bei Anmeldung die IP des Users auslesen

Du mußt ja nicht die IP nehmen, Du könntest Dir ja selbst eine SessionID erzeugen. Wir haben ein solches Konstrukt selbst schon mal in die Praxis umgesetzt. Wobei hinzuzufügen ist, daß der Traffic nicht sonderlich hoch ist. Wir haben 2 Tabellen "session" und "sessionvalue"

tabelle session:
pk_session (Primärschlüssel)
session_id
timeout

tabelle sessionvalue:
pk_sessionvalue (Primärschlüssel)
fk_session (Fremdschlüssel auf Session)
varname
vartype
varvalue

Die SessionID nach irgendeinem Zufallsmechanismus erzeugen, und einen Timeout definieren z.B. Now+15 min. Bei jedem Zugriff des Users wird zuerst der Timeout erneuert, sofern er noch nicht abgelaufen ist. Zum Anfang werden immer alle DS mit abgelaufenen Session gelöscht. Mit einem Join können allle notwendigen Daten geholt werden. Diese waren nicht komplex, keine Felder oder Objekte.

Über Problem hinsichtlich Performance ist mir nichts zu Ohren gekommen. War eine Sache für einen Kunden.

HTH

Gruß Frank