Core functions
Session Management
Wird in der Datei session.class.php abgehandelt.
Die Dokumentation dazu befindet sich direkt im code.
Um die Session zu benützen, muss im jeweiligen script
-
$Session = new Session();
-
$sid = $Session->start();
angegeben werden, danach ist der Hash des clients in der Variable $sid gespeichert.
Wenn ein cookie mit dem entsprechenden hash auf dem client vorhanden ist, wird diese session fortgesetzt, ansonsten wird eine neue Session initialisiert.
Um zu verhindern, dass der Session inhalt Plaintext ausgelesen werden kann, wird eine simple Methode namens Base64 encoding verwendet.
Das Array wird Serialisiert und der Serialisierte String danach mit base64 encodiert beim umgekehrten fall, das ganze vice versa.
-
Als Tipp am rande:
-
Damit kann man z.B. die MS Terminal Server Beschränkung umgehen,
-
die es nicht erlaubt binäre Daten vom TS auf den client zu kopieren,
-
da sie nach dem base64 encoding als normaler ASCII text gehandhabt werden
-
und per <ctrl>-C / <ctrl>-V der Inhalt kopiert werden kann.
In unserer Demo applikation, sind die ssn Datein in einm Unterordner gespeichert. Im Produktiven fall ist es sehr zu empfehlen diesen Ordner Ausserhalb des Webroots zu erstellen.
Desweiteren fehlt dieser Klasse noch das Hardening, sprich es ist noch sehr einfach ein Session Hijacking durchzuführen.
Dies haben wir aus Zeitgründen weggelassen.
- Printer-friendly version
- Download PDF
- 585 reads

Post new comment