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

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

3 Stunden ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

7 Stunden ago

Ionos führt neue AMD-Prozessoren ein

Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…

8 Stunden ago

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

8 Stunden ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

8 Stunden ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

10 Stunden ago