Die Session ID dient der eindeutigen, webserverseitigen Zuordnung eines Users zu einem von ihm durchgeführten Vorgang auf einer Webseite.
Die Session ID dient somit zur genauen Identifizierung, welche auf unterschiedliche Möglichkeiten realisiert werden kann. Beispielsweise kann die Session ID als Bestandteil der URL an ein Folgeskript weitergegeben werden, damit die zugehörigen Daten auf dem Web-Server verwertet und lokalisiert werden können. Eine andere Möglichkeit besteht darin, mit Cookies zu arbeiten oder aber mit sogenannten unsichtbaren Formularfeldern.
Diesen unterschiedlichen Möglichkeiten ist eines gemeinsam: damit das Ganze realisiert werden kann, ist eine bestimmte Skriptsprache auf dem Server notwendig, nämlich beispielsweise PHP.
Ein klassisches Beispiel bei der Verwendung von Session IDs ist ein Online Shop. Kaufprozesse von Kunden bestehen aus unterschiedlichen Etappen:
- im Sortiment Produkte suchen,
- Produkte in den Warenkorb legen,
- gegebenenfalls weitersuchen,
- den Warenkorb überprüfen und schließlich
- Bezahlen.
Diese Vorgänge müssen eindeutig zugeordnet werden können, damit kein Chaos entsteht.
Um dem sogenannten Session ID Hijacking vorbeugen zu können, müssen Session IDs zufällig generiert werden und zwar aus einem möglichst großen Wertebereich. Nur so kann die Wahrscheinlichkeit, dass eine gerade in Verwendung stehende ID erraten wird, minimiert werden. Das ist die Grundvoraussetzung dafür, dass dieses System ohne Komplikationen funktioniert und andere User nicht auf eine gerade verwendete ID zugreifen können.