Das Gedächtnis einer Website

Wenn Sie einen Online-Shop besuchen, oder sich bei einer Website mit einer bestimmten Identität legitimiert haben (z.B. um Ihre Telefonrechnung abzuholen oder in einem Blog oder Wiki schreiben zu dürfen), dann muss der Webserver ein für Sie spezifisches Gedächtnis über den Vorgang mindestens für die Dauer des Besuchs vorhalten, in dem alle benötigten Daten enthalten sind. Ein solcher Zustand ist jedoch in HTTP, dem Übertragungssprotokoll des Internets, nicht unmittelbar vorgesehen.

Sie klicken auf einen Menüpunkt oder Verweis und Ihr Browser sendet eine Anfrage für die gewünschte Seite an den Webserver, der als Antwort die Seite zurückschickt. Der Webserver weiss dabei nichts über Ihre Identität oder was Sie bereits auf der Website getan haben.

Auf dieser Seite erfahren Sie, wie trotz des "zustandslosen" Protokolls eine Website Ihre Identität von einem Seitenabruf zum nächsten feststellen kann.

Cookies

Cookies (Kekse) sind kleine Text-Datenpakete, die von der besuchten Website aus zusammen mit einer abgerufenen Seite an Ihren Browser übertragen werden können. Der kryptische Name "Cookie" geht zunächst auf ein Konzept "magic cookie" in der Unix IT-Welt zurück, dessen Ursprung sich wiederum in den Nebeln der Vergangenheit verliert.

Der Browser stellt Cookies nicht dar, sondern speichert sie auf Ihrer Festplatte (vorausgesetzt, dass Ihre Einstellungen dies erlauben). Alle von einer Website stammenden Cookies werden bei jedem weiteren Seitenabruf an diese Website von Ihrem Browser automatisch an die Anfrage mit angehängt. Ferner können ihre Inhalte im Browser, im Rahmen einer Seite, per JavaScript abgefragt und gesetzt werden.

Damit können individuelle Daten, bzw. Verweise auf solche am Webserver, von einem Seitenabruf oder Website-Besuch zum nächsten transportiert werden und ermöglichen somit ein persönlich zugeschnittenes Surfen. Typischerweise enthalten Cookies Daten über Ihr Profil, Präferenzen, bisherigen Einkäufe usw. Es ist sogar möglich, mit Hilfe von Cookies einen sehr einfachen Minishop einzurichten, der Ihre Produkte online verkauft ohne eine Datenbank auf dem Webserver zu benötigen.

Kann mein PC mittels Cookies ausspioniert werden?

Nein. Cookies, die eine bestimmte Website schreibt, können nur von dieser Website gelesen werden. Der Speicherort wird nicht von der Website sondern von Ihrem Browser bestimmt – der Mißbrauch für Datenklau oder Malware (böse Software wie Trojaner, Würmer und Viren) ist ausgeschlossen.

 

Cookies

Ihre Cookies-Einstellung: Unbekannt.

JavaScript und Ajax sind in Ihrer Session als nicht verfügbar notiert.

Sessions

Mit Session – zu Deutsch "Sitzung" – bezeichnet man den Besuch einer bestimmten Person (genauer: eines bestimmten Browsers) bei einer Website, welche den Zusammenhang der Seitenabrufe erkennt und Daten über den Vorgang verwaltet, die üblicherweise bei der Bildung der Antwortseiten eine Rolle spielen, z.B. den Inhalt des Einkaufswagens. Die Daten einer Session können am Webserver in normalen Dateien oder in einer Datenbank gespeichert werden. In den an Webservern gängigen Programmiersprachen bestehen Möglichkeiten, solche Daten als Programmvariablen verfügbar zu machen.

Eine Session wird identifiziert:

  • mit einem Cookie, oder
  • mit einer Session-Kennung, in jedem Aufruf einer weiteren Seite der eigenen Website (im URL).

Die Programmiersprache PHP bietet ein Session-Modul, das zunächst versucht, eine Session mit Cookies zu verwalten. Ist dies nicht möglich, weil der Browser Cookies nicht erlaubt, wird automatisch beim Ausgeben der Seite jeder Aufruf der eigenen Website mit der Session-ID ergänzt.

<title>Das Gedächtnis einer Website - Tim Reeves Internet-Programmierung</title> <meta name= "description" content= "Das Gedächtnis einer Website - Benutzerspezifisches merken mit Cookies und Sessions - Tim Reeves Internet-Programmierung" /> <meta name= "keywords" content= "Cookies, Sessions" /> <meta name= "date" content= "2007-12-29" /> <?php include("../head.inc.php"); ?> <script type= "text/javascript"> /*<![CDATA[*/ // NOTE: These functions handle cookies in a procedural way // js-x.com also has a script which handles cookies as objects // which would be better for handling a lot of cookie elements // cookie ::= {1cooky}0..n // 1cooky ::= name=val{; expires=...}{; path=...}{; domain=...}{; secure} function getCookieVal (offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } function GetCookie (name) { var arg = name + "= "; var alen = arg.length; var clen = document.cookie.length; var i = 0; // alen = len("name= ") clen = total document cookie length // i steps thro all the individual cookies while (i < clen) { var j = i + alen; // Cut out the next 'alen' chars from pos 'i' and check match if (document.cookie.substring(i, j) == arg) // We have found "name" starting at 'j' return getCookieVal (j); // No match - move on to next white space from 'i' i = document.cookie.indexOf(" ", i) + 1; // break out and return null if no more entries if (i == 0) break; } return null; } function SetCookie (name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (2 < argc) ? argv[2] : null; var path = (3 < argc) ? argv[3] : null; var domain = (4 < argc) ? argv[4] : null; var secure = (5 < argc) ? argv[5] : false; // Writing to 'document.cookie' - what does browser do? var newCookie = name + "= " + escape (value) + ((expires == null) ? "" : ("; expires= " + expires.toGMTString())) + ((path == null) ? "" : ("; path= " + path)) +