Stellen Sie sich ein großes Kongress-Zentrum vor, in dem ver­schie­de­ne Ver­an­stal­tun­gen angeboten werden. Sie haben sich für einen be­stimm­ten Vortrag ent­schie­den, holen Ihre Teil­neh­mer-Plakette bzw. Ihr Badge ab, um damit den ent­spre­chen­den Sit­zungs­saal betreten zu können. Sie sind für den Einlass so ge­kenn­zeich­net, dass Sie als Person eindeutig der gewählten Ver­an­stal­tung zu­ge­ord­net sind. Das Kongress-Zentrum ist der Server, die einzelne Ver­an­stal­tung ist die Web-Adresse, und Ihr Badge ist Ihre ID für die Sitzung, englisch Session, Ihre Session-ID.

Mit solchen Sit­zungs­be­zeich­nern ist ein Webseite-Besucher während seines Auf­ent­halts auf der Seite eindeutig ge­kenn­zeich­net, er bekommt ein elek­tro­ni­sches Badge vom Server zugeteilt. Weitere Begriffe für diesen Sit­zungs­be­zeich­ner sind Sitzungs-ID, Sit­zungs­num­mer oder auch Sit­zungs­ken­nung. Wie eine solche Sitzung beim Besuch einer Webseite zustande kommt und welche Hin­ter­grün­de die Nutzung von Session-IDs hat, erklären wir de­tail­liert in unserem Ratgeber.

Domain kaufen
Re­gis­trie­ren Sie Ihre perfekte Domain
  • Inklusive 1 SSL-Wildcard-Zer­ti­fi­kat pro Vertrag
  • Inklusive Domain Lock
  • Inklusive Domain Connect für einfache DNS-Ein­rich­tung

Wo und wofür wird eine Session-ID verwendet?

Eine Session-ID ist ein tech­ni­sches Hilfs­mit­tel, um einen Nutzer einer Webseite eindeutig zu iden­ti­fi­zie­ren und einer Sitzung zuordnen zu können. Die Session-ID er­mög­licht den Zugriff auf die Daten der zuletzt durch­ge­führ­ten Sitzung des Users. Diese Daten sind auf dem Server der je­wei­li­gen Webseite ge­spei­chert. Bei der ID handelt es sich um eine Zahlen-Zei­chen­fol­ge. Die nach­fol­gen­de Zei­chen­ket­te einer Sitzungs-ID mit 32 Zeichen wurde zum Beispiel mit PHP erzeugt und aus­ge­ge­ben:

<?php
session_start();
    echo "Die Session-ID ist :" . session_id();
    $sid=session_id(); //erstellt eine Variable mit der Session-ID
?>

Wenn Sie über eigenen Webspace mit einem FTP-Zugang verfügen, können Sie das ganz einfach mit diesen drei Zeilen Code aus­pro­bie­ren. Das erzeugte für diese spezielle Sitzung als Test­auf­ruf die Ausgabe „Die Session-ID ist: 84266fdbd31d4c2c6d0665f7e8380fa3“.

Dieser Wert wird bei Abruf der Inhalte vom Server zum User über­tra­gen und ordnet die dazu ge­hö­ren­den Inhalte der letzten Sitzung vom Server zu. Der Nutzer bleibt mit seinen per­sön­li­chen Daten anonym, es wird lediglich fest­ge­stellt, dass derselbe User diese Webseite abruft. Fehlt diese ID, wertet der Server eine Anfrage als neue Anfrage und erteilt auch eine neue Session-ID.

Wozu das Ganze? Eine wichtige Funktion haben diese Sit­zungs­be­zeich­ner im E-Commerce. Die Session-ID wird genutzt, um bei­spiels­wei­se den Inhalt eines Wa­ren­korbs oder zuletzt an­ge­se­he­ne Artikel im Webshop dem User zu­zu­ord­nen. Das trägt zum Be­nut­zer­kom­fort und einer Ver­bes­se­rung der so genannten Website-Usability bei. Anhand der temporär zwi­schen­ge­spei­cher­ten Daten von besuchten Webseiten lässt sich erkennen, welche Inhalte abgerufen wurden. Die gleiche Methode dient auch einer weiteren wichtigen Funktion: Mit dieser In­for­ma­ti­on – dem Sit­zungs­be­zeich­ner – kann Werbung (Banner, Pop-ups, Links etc.) aus­ge­spielt werden, die den Nutzer wahr­schein­lich besonders in­ter­es­siert, was zu einer höheren Re­ak­ti­ons­quo­te führt.

Funk­ti­ons­wei­se einer Session-ID

Eine Session-ID wird am Anfang einer jeden Sitzung (Session) vom Server erzeugt und mit der Anfrage des Nutzers an den Browser über­tra­gen und dort ge­spei­chert. Alle Daten, die mit dieser Sitzung verbunden sind, speichert auch der Webserver in einem extra dafür an­ge­leg­ten Ver­zeich­nis auf der Server-Fest­plat­te. In der Regel ist das ein tem­po­rä­res Ver­zeich­nis "…/tmp". Die dort ab­ge­leg­ten Daten be­inhal­ten neben der Session-ID auch andere Inhalte, wie zum Beispiel eine Nutzer-ID und – wenn auf der Webseite benötigt – den Inhalt eines be­stück­ten Wa­ren­korbs. Eine solche Datei hat dann bei­spiels­wei­se folgenden Inhalt:

/tmp/sess_84266fdbd31d4c2c6d0665f7e8380fa3
UserID|i:1142;MyCart|a:2:{i:0;s:8:"Item_Nr01";i:1;s:8:"Item_Nr02";}

Die beiden haupt­säch­lich genutzten Techniken zur Über­tra­gung einer Session-ID be­leuch­ten wir im nach­fol­gen­den Abschnitt.

Wie gelangt die Session-ID zum User und zurück?

Für die Über­tra­gung einer Session-ID gibt es zwei un­ter­schied­li­che Wege.

Session-ID per URI über­tra­gen

Nach dem erst­ma­li­gen Aufruf einer Webseite werden weitere Anfragen eines Nutzers durch das Anklicken von Links oder durch das Absenden von For­mu­la­ren aus­ge­führt. Ist der zu­ge­teil­te Sit­zungs­be­zeich­ner einmal erteilt, wird durch ihn der URI (Uniform Ressource Iden­ti­fier) verändert, indem die Session-ID als Variable an den URI an­ge­han­gen wird. Der Link dazu sieht dann mit der zuvor de­fi­nier­ten Variablen $sid wie folgt aus:

<a href="https://www.wunschdomain.de/cart.php?sid=$sid">www.wunschdomain.de</a>

erzeugt folgenden Link im Browser:

https://www.wunschdomain.de/cart.php?sid=84266fdbd31d4c2c6d0665f7e8380fa3

Eine al­ter­na­ti­ve Mög­lich­keit besteht darin, den Sit­zungs­be­zeich­ner als Pfad zu setzen:

<a href="https://www.wunschdomain.de/$sid/cart.php">www.wunschdomain.de</a>

Damit erhält man den wie folgt mo­di­fi­zier­ten Link im Browser:

https://www.wunschdomain.de/84266fdbd31d4c2c6d0665f7e8380fa3/cart.php

Der Server ist dann so kon­fi­gu­riert, dass er die Session-ID immer als Pfad in die ent­spre­chen­de Abfrage vom User einfügt und so die Iden­ti­fi­ka­ti­on durch­füh­ren kann.

Das kann man auch mit For­mu­lar­fel­dern rea­li­sie­ren, indem man die einmal erzeugte Session-ID in ein ver­steck­tes For­mu­lar­feld „verpackt“:

<form method="post" action="/fuehre_Aktion_aus">
    <input type="text" name ="KdNr">
    <input type="hidden" name="sessionId" value="$sid" />
    < … >
</form>

Damit wird die Session-ID mittels der fest­ge­leg­ten POST-Methode wieder an den Server über­tra­gen. Die Session re­spek­ti­ve der aktuelle User sind iden­ti­fi­ziert.

Session-ID per HTTP-Header über­tra­gen

Hier kommen Cookies zum Einsatz. Ein Cookie ist – wie Sie seit einiger Zeit auf fast jeder Webseite lesen können – eine kleine Textdatei. Es handelt sich um eine Er­wei­te­rung des HyperText Transfer Protocols (HTTP). Diese Textdatei wird beim Nutzer lokal ab­ge­spei­chert und enthält die Session-ID. Bei einer erneuten Anfrage an den Server wird der Inhalt dieses Session-Cookies an den Server über­tra­gen, der sei­ner­seits ebenfalls den Sit­zungs­be­zeich­ner temporär abgelegt hat. Stimmen Cookie-Inhalt vom User und Session-ID auf dem Server überein, wird die Abfrage aus­ge­führt.

Hinweis

Nach den Richt­li­ni­en der DSGVO – Stand August 2020 – ist ein Session Cookie in den meisten Fällen nicht von der Opt-In-Regelung betroffen. Es muss also keine aktive Zulassung dieser spe­zi­el­len Cookies abgefragt werden. Das befreit nicht davon einen Hinweis darauf aus­zu­spie­len.

Dass solche Dateien ein­ge­setzt werden, kann man zum Beispiel daran erkennen, dass einmal ein­ge­ge­be­ne For­mu­lar­da­ten bei wie­der­hol­ten Aufrufen des Formulars nicht erneut in das jeweilige Feld ein­ge­tra­gen werden müssen. Schon mit dem ersten Buch­sta­ben erscheint die zuvor getätigte Eingabe als Vorschlag.

Wie sicher sind Session-IDs?

Generell sind Session-IDs kein Garant für sicheres Browsen im Internet. Wer es mit dem nötigen Pro­gram­mier­wis­sen darauf absieht, kann ungesehen während einer Session Inhalte abgreifen – das Ganze nennt man dann Session Hijacking.

Sit­zungs­be­zeich­ner die per Session-Cookies zum Nutzer gelangen und dort ge­spei­chert sind, werden au­to­ma­tisch gelöscht, sobald Sie Ihren Browser komplett schließen. Nur einen offenen Browser-Tab zu schließen, genügt dafür nicht. Session-Cookies stellen – im Gegensatz zu dauerhaft oder länger ge­spei­cher­ten Cookies – daher kein erhöhtes Si­cher­heits­ri­si­ko dar.

Zum Hauptmenü