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

IT Sicherheit: digitale Angriffe sicher abwehren

IT-Sicherheit - Erkennen und Abwehren von digitalen Angriffen

5 Stunden ago

Infostealer-Angriffe: 51 kompromittierte Account-Zugänge pro Gerät

Mehr als die Hälfte aller Infostealer-Angriffe treffen Unternehmensrechner.

8 Stunden ago

Bestverkaufte Smartphones: Apple und Samsung dominieren

Das iPhone 15 Pro Max ist das meistverkaufte Smartphone im ersten Quartal. Das Galaxy S24…

8 Stunden ago

Google: Passkeys schützen mehr als 400 Millionen Google-Konten

Die Passwort-Alternative Passkeys überholt Einmalpasswörter bei der Zwei-Faktor-Authentifizierung. Auch Microsoft setzt sich aktiv für die…

1 Tag ago

Infostealer: 53 Prozent der Angriffe treffen Unternehmensrechner

Der Anteil steigt seit 2020 um 34 Prozentpunkte. Allein 2023 erfasst Kaspersky rund 10 Millionen…

1 Tag ago

Salesforce: Mit Einstein GPT zurück auf die Überholspur?

Salesforce forciert den Ausbau seiner Industry Clouds. Mit ihrem Prozesswissen könnten deutsche IT-Dienstleister davon profitieren.

2 Tagen ago