Session-Status in ASP beibehalten

HTTP ist ein Protokoll, das den Clients keinen Status zuweist. Wenn ein Client eine Anfrage an den Server sendet, weiß der Server nicht, ob es die erste oder die 42. Anfrage des Client ist. Dies stellt für Active Server Pages (ASP) ein Problem dar, denn dort ist es häufig notwendig, Variablen auf der Server-Seite einem bestimmten Client zuzuordnen. Diese Zuordnung ist eines der Verfahren, die es einer Web Site ermöglichen, mir die neue Jethro Tull-CD zu schicken, die ich bestellt habe und nicht die Barry Manilow-CD, die jemand anders zur selben Zeit bestellt hat. ASP weist dem Client für diese Zuordnung einen einzigartigen Identifikationscode zu, die sogenannte Session-ID, die jeder Client zu Beginn einer Browser-Session erhält.

Was ist eine Session-ID?

Die Session-ID ist ein READ_ONLY-Wert, der die Nutzer gegenüber dem Web-Server jeweils eindeutig identifiziert. In einer klassischen ASP Session werden die IDs der Reihe nach vergeben – der Session-ID706616433 folgt die Session-ID 706616434 und so weiter. Die klassische ASP-Session-ID wird in Form eines verschlüsselten, temporären Cookies auf dem Rechner des Nutzers abgelegt. So würde zum Beispiel die Session-ID 706616434 als der Cookie ASPSESSIONIDGQQGQGCS=
JHMBOBKCBINEHLPKJHOPABBE auf dem Rechner des Users abgelegt.

Mit ASP.NET wurden ein paar Veränderungen an der Session-ID vorgenommen. Wenn man ASP.NET verwendet, besteht die Session-ID aus einem 120-Bit String aus ASCII-Zeichen, wie sie auch für URLs verwendet werden dürfen. Der Dokumentation von Microsoft zufolge werden die Session-IDs mittels eines Algorithmus erzeugt, der ihre Einzigartigkeit garantiert, was wiederum eine Kollision der Sessions verhindert, die stattfände, wenn zwei Anwender versuchten, dieselbe ID zu verwenden. Außerdem macht es der Zufallsfaktor erheblich schwieriger, die ID einer bestehenden Session zu bestimmen, was die Sicherheit erhöht. Wie beim klassischen ASP wird die Session-ID in ASP.NET gewöhnlich in Form eines temporären Cookies auf dem Client-Rechner abgelegt. Das Format dieses Cookies unterscheidet sich nur geringfügig von seinem klassischen Gegenstück, ein Beispiel: asp.net_sessionid=jhmbobkcbinehlpkjhopabbe.

Zusätzlich zu der traditionellen Methode des Statuserhalts durch temporäre Cookies unterstützt ASP.NET einen „cookiefreien“ Modus. Wenn der cookiefreie Modus aktiviert ist, bettet ASP.NET die Session-ID in die URL ein, die zurück an den Client geschickt wird. So arbeiten auch Browser stabil, die keine Cookies unterstützen, oder bei denen die Cookies deaktiviert sind. Es lohnt sich, den cookiefreien Modus im Hinterkopf zu behalten, wenn man die gegenwärtige Gefühlslage bezüglich Cookies und der durch sie möglichen Rückverfolgung von Kunden bedenkt.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Apple stellt neuen Mobilprozessor M4 vor

Er treibt das neue iPad Pro mit OLED-Display an. Apple verspricht eine deutliche Leistungssteigerung gegenüber…

3 Stunden ago

Cyberabwehr: Mindestens zwei kritische Vorfälle pro Tag

Davon entfällt ein Viertel auf staatliche Einrichtungen und 12 Prozent auf Industrieunternehmen.

4 Stunden ago

Tunnelvision: Exploit umgeht VPN-Verschlüsselung

Forscher umgehen die Verschlüsselung und erhalten Zugriff auf VPN-Datenverkehr im Klartext. Für ihren Angriff benötigen…

4 Stunden ago

Online-Banking: 42 Prozent kehren Filialen den Rücken

Weitere 40 Prozent der Deutschen erledigen ihre Geldgeschäfte überwiegend online und gehen nur noch selten…

6 Stunden ago

Google veröffentlicht neues Sicherheitsupdate für Chrome

Zwei Schwachstellen in Chrome gehören nun der Vergangenheit an. Von ihnen geht ein hohes Risiko…

10 Stunden ago

Digitale Souveränität: ein essenzieller Erfolgsfaktor für Unternehmen

Mit der zunehmenden computerbasierten und globalen Vernetzung gewinnt die digitale Souveränität an rasanter Bedeutung. Viele…

11 Stunden ago