Session-ID

Aus Seobility Wiki
Wechseln zu: Navigation, Suche

Definition

Die Session-ID ist ein Identifikationsmerkmal für die Kommunikation zwischen Client und Server, um verschiedene Anfragen eines Nutzers einer Session zuzuordnen. ID steht für Identifikator oder Kennzeichen und bezeichnet ein Merkmal zur sicheren Identifizierung von Vorgängen oder Objekten. Diese eindeutige ID wird als Zahlencode, Zifferncode oder alphanumerischer Code dargestellt. Als Session bezeichnet man in der Informatik eine temporär bestehende Verbindung von Server und Client. Der gesamte Prozess von Anfragen und Responses einer Sitzung im Rahmen der oben genannten Kommunikation wird mit einer Session-ID gekennzeichnet.

Gebräuchlich ist auch die Kurzversion SID (Sitzungs-ID), wenn zum Beispiel von Webservern die Rede ist.

Im Bereich der Suchmaschinenoptimierung (SEO) sind Session-IDs ein relevantes Thema, da es unter bestimmten Umständen zu Problemen mit Duplicate Content kommen kann.

Methoden zum Einsatz von Session-IDs

Session-ID
Abbildung: Session-ID - Autor: Seobility - Lizenz: CC BY-SA 4.0

Cookies

Besucht ein User beispielsweise einen Onlineshop, generiert der Server des Shops eine individuelle Session-ID, die exakt diesem User und dieser Sitzung zugeordnet wird. Diese Session-ID wird in einem Cookie, dem Session-Cookie, lokal beim User gespeichert. Stellt der Besucher während der Sitzung eine neue Anfrage an den Server, wird das Cookie mit der zugeordneten ID mitgesendet, sodass der Server die Kommunikation dem entsprechenden User zuordnen kann.

Verlässt dieser Nutzer den Warenkorb, um sich andere Produkte im Shop anzuschauen oder gar den Shop zu schließen, sorgt das Cookie dafür, dass die Session wiedererkannt und der letzte Stand des Warenkorbs mit den bereits darin abgelegten Produkten angezeigt wird, sobald der User zurück auf die Webseite kommt.

Die Produkte im Warenkorb werden dabei über exakte alphanumerische Zeichencodes der gespeicherten Session-ID zugeordnet. Vorausgesetzt wird, dass mit jeder Anfrage an den Server und mit jeder Antwort des Servers an den User genau diese Session-ID mitgeliefert wird. Wird die Session-ID im Laufe dieser Sitzung einmal nicht mitgeliefert, wird bei der nächsten Anfrage des Clients eine neue ID vergeben, und die alte Session geht verloren.

URL-Parameter

Sollte der Nutzer im Vorfeld die Ablage von Cookies ausgeschlossen haben, zum Beispiel über die Browser-Funktion „Cookies deaktivieren“, kann die Session-ID als Parameteranhang zur URL der Shopseite vom Server an den Browser übergeben werden. Aufgrund der Session-ID in der URL ist die Anwendung in der Lage, eine Session eindeutig zu markieren und wiederzuerkennen, womit Informationen wie zum Beispiel Warenkörbe o. ä. erneut aufgerufen werden können, da sie mit der Session verknüpft sind.

Beispiel einer URL mit Parameteranhang:

https://www.example.com/index.php?sid=123454321abcde-54321dcba

Die Web-Programmiersprache PHP ist in der Lage, diesen Link zu identifizieren und zuzuordnen. Somit ist der gesuchte Warenkorb erneut auffindbar.

Hidden Form Field

Eine weitere Form der Aufzeichnung von Userverhalten ist das Hidden Form Field, welches es ermöglicht, Daten an den Server mitzusenden, die vom Benutzer nicht gesehen oder geändert werden können. So wird zum Beispiel in einem verborgenen Feld eines Formulars gespeichert, welcher Datenbankeintrag aktualisiert werden soll. Auf diese Weise kann auch eine Session-ID vom Browser an den Server übermittelt werden.

Session-ID und SEO

Die Verwendung von URL-Parametern zur Übertragung von Session-IDs kann zu Duplicate Content führen, da Google die entsprechenden URLs finden und indexieren kann. Greifen unterschiedliche Nutzer auf das gleiche Produkt oder die gleiche Kategorieseite zu und erzeugen so unterschiedliche Parameteranhänge der URL, die jedoch identischen Content erreichen, besteht die Gefahr, dass Google diese Inhalte als Duplicate Content klassifiziert. Das gilt es bei der SEO zu berücksichtigen. Allerdings stuft Google die betreffende Webseite nicht aktiv im Ranking herab – vielmehr wird die Relevanz der jeweiligen Unterseite auf die zahlreichen URLs mit unterschiedlichen Session-IDs verteilt. Als indirekte Folge kann sich dies dann negativ auf ihr Ranking bei Google auswirken.

Aus SEO-Sicht ist eine Session-ID als URL-Parameter daher problematisch und, sofern möglich, zu vermeiden. Ist die Übermittlung als URL-Parameter hingegen unumgänglich, lässt sich das Problem durch die Verwendung eines Canonical Tags lösen. Auf diese Weise wird Google trotz veränderter URL signalisiert, dass die URL ohne Session-ID die für die Indexierung vorgesehene Originalressource ist, während die URLs mit Session-ID nicht indexiert werden.

Session-IDs sollten grundsätzlich nicht obligatorisch sein und nur dann eingesetzt werden, wenn sie einen Mehrwert für den Seitenbesucher und/oder Seitenbetreiber bieten. Das kann den Rahmen von E-Commerce weit übersteigen.

Session-Cookie und DSGVO

Seit dem 25. Mai 2018 gilt die Datenschutz-Grundverordnung (DSGVO) in der EU. Diese regelt nicht ausdrücklich den Einsatz von Session-Cookies. In Artikel 6 DSGVO ist die Rede davon, dass von einer vorherigen Einwilligung zur Verwendung von Cookies durch den Nutzer abzusehen ist, wenn das Cookie zur Wahrung berechtigter Interessen des Verantwortlichen oder eines Dritten erforderlich ist. Auch das Session-Cookie wird zu diesen Cookies gezählt. Daher sollte die Verwendung von Session-Cookies auch in der Datenschutzerklärung angegeben werden.

Sicherheit

Der Einsatz von Session-IDs gilt als relativ sicher. Durch Manipulation von gespeicherten Session-IDs im Browser ist aber theoretisch die Möglichkeit gegeben, an die Session-ID eines dritten Anwenders zu gelangen. Diese Wahrscheinlichkeit gilt als äußerst gering, sofern der generierende Server von individuellen Session-IDs aus einem hinreichend großen Spektrum alphanumerischer Zeichencodes schöpft, die nicht fortlaufend oder anderweitig einfach zu erraten sind. Abgesehen davon arbeiten Shops in der EU häufig mit SSL-Verschlüsselung, was eine zusätzliche Sicherheitsstufe darstellt. Ein Treffer wäre in der Tat purer Zufall.

Anders sieht es bei der bewussten Implementierung von schädigendem Code aus. Wird von einem Angreifer via Cross-Site-Scripting (XSS) solch ein Code in ein Shopsystem eingeschleust und dieser von einem Nutzer über die Webseite ausgeführt, könnte die ID übertragen und die gesamte Session gehijackt, also fremdgeleitet werden. Der Angreifer hätte somit Zugriff auf bestimmte Kundendaten und könnte seinerseits eine Bestellung im Namen des Nutzers ausführen.

Weiterführende Links

Ähnliche Artikel

Über den Autor
Seobility S
Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. Mehr Informationen über das Seobility Wiki Team.

Überprüfen Sie Ihre Webseite mit
dem SEO Check!