Eigene Sessions als Alternative?

Bomber

Erfahrenes Mitglied
Hi,

zuerst ist zu sagen, dass meine Erfahrungen mit PHP schon einige Zeit zurückliegen. Ich möchte jetzt allerdings ein kleines CMS schreiben, da ich noch ab und zu Webseiten für Freunde und Familie mache und das Ganze da ganz nützlich wäre.

Zuerst kommt natürlich ein Login-System :)
Mir stellt sich da folgende Frage: Sind Sessions dafür die beste Lösung?

Ich würde ungerne mit Cookies (wg. Templates) arbeiten und auch Sessions sind nicht immer das Komfortableste oder? Ich habe mal eine Klasse geschrieben die Sessions quasi in eine mySQL Datenbank simuliert.
Ergo: Für einen User der auf der Seite surft wird ein DB Eintrag erstellt. Er wird anhand seiner IP identifiziert und die Daten werden mit Trennzeichen zusammengefasst und bei Bedarf wieder getrennt. Nach 5 Minuten Nichtbenutzung wird das Ganze gelöscht (Bzw. das nächste Mal wenn ein User die Seite/das Script öffnet).

Ich weiß allerdings nicht ob diese Lösung so elegant ist. Also wollte ich mal nachfragen ob es für ein eigenes Sessionsystem irgendwelche Ansätze gibt an denen man sich orientieren kann, bzw. ob jemand dazu Tutorials oder Beispielklassen hat. Oder ist das ganze komplett schwachsinnig und ich sollte mich eher an die "normalen" Sessions halten?

Ich hoffe Ihr könnt mir weiterhelfen.
mfg Bomber
 
Auch bei PHP-Sitzungen wirst du schwer auf HTTP-Cookies verzichten können, außer die Sitzungs-ID wird per URL übertragen. Dies würde jedoch eine Authentifizierung erschweren, wenn nicht sogar unmöglich machen.

Was deinen Ansatz des Speicherns von Sitzungsdaten in einer Datenbank statt als PHP-interne Sitzungsdaten angeht, sehe ich nur den Vorteil, dass die Sitzungsdaten auch nach Verfall der Sitzung in der Datenbank noch vorhanden wären.
Auch die alleinige Identifizierung durch die IP-Adresse halte ich für bedenklich. Denn viele Benutzer teilen sich beispielsweise in einer Schule oder auch einem Unternehmen eine einzige IP-Adresse. Dort könnte dies zu schwerwiegenden Problemen führen.
 
Zurück