Also der zentrale Punkt bei Sessions ist ja bekanntlich die SID, welche bekanntlich entweder per Cookie auf dem Clientrechner gespeichert werden oder per Link in der Form script.php?SID=$SID übergeben werden.
Das Sicherheitsproblem, das bei der Übergabe per Link sofort auffällt, ist natürlich die Sache mit dem Referer (GMX hatte einmal ein ähnliches Problem). Externe Seiten, zu denen von einer Session-Seite aus gelinkt wird, können durch den HTTP-Referer ganz einfach an eine gültige Session-ID des Benutzers kommen.
Diese Sache kann aber bekanntlich recht einfach mit einem De-Referer Script gelöst werden.
Bei der Speichermethode mit Cookies liegt die Sicherheit natürlich auf Clientseite - ein installierter Trojaner kann hier schnell an eine SID kommen, genauso jemand, der die aktuelle Sicherheitslücke bzgl. Cookies des IE 5.5 und 6.0 kennt (vorausgesetzt der Benutzer hat seinen IE nicht gepatcht, was jedoch wohl recht oft der Fall ist).
Generell kann ich sagen, dass ich Sessions als sehr komfortables und auch recht sicheres Werkzeug einschätze.
--> Sicher, da der HTTP-Referer nun auf das derefer-Script verweist (an dieses Script natürlich auf keinen Fall die SID mit übergeben!).
Anmerkung: Ich würde hier nicht mit header("Location: $link") arbeiten, da diese Direktive ja eigentlich nur den aktuellen Standort des Dokuments angibt und somit der HTTP-Referer u.U. immer noch die Seite mit der SID enthält.
Kommentar