Cookies - Grundlagen, Verwendung und Gefahren

Zunächst einmal, ein Cookie hat nur vom Namen her etwas mit dem guten alten Keks zu tun. Technisch gesehen sind Cookies kurze Informationen, die ein Webserver zu einem Browser sendet oder die clientseitig durch JavaScript erzeugt werden. Der Client sendet die Informationen in der Regel bei späteren Zugriffen an denselben Webserver im Hypertext-Transfer-Protocol-Header an den Server. Cookies sind clientseitig persistente/gespeicherte Daten. HTTP-Cookies sind eine spezielle Form der allgemeinen Magic Cookies. Sie ermöglichen das clientseitige Speichern von Information, die auch vom Server stammen können und die bei weiteren Aufrufen für den Benutzer transparent an den Server übertragen werden. Dadurch erleichtern Cookies die Erstellung von Webseiten, die auf Benutzereinstellungen reagieren oder den Aufbau von Sitzungen. Daraus folgert, das ein Cookie dazu da ist, für Webseitenbetreiber das Surfverhalten der Internetbesucher "auszuspähen". Und darin bergen sich zum Teil auch Gefahren für den einzelnen Internetbesucher. Doch dazu später mehr.

Funktionsweisen von Cookies:

Es gibt zwei Möglichkeiten für die Übertragung, Zuweisung und Auswertung von Cookies durch eine Website:

    1. Übertragung in den Kopfzeilen (Header) von Anfragen und -Antworten via HTTP.
    Cookies entstehen, wenn bei einem Zugriff auf einen Webserver neben anderen
    HTTP-Kopfzeilen in derAntwort zusätzlich eine Cookie-Zeile übertragen wird (siehe Aufbau).
    Die Cookie-Information wird auf dem Server generiert und ausgewertet.

    2. Zusätzlich kann ein Cookie auch zunächst lokal generiert werden, nämlich durch
    JavaScript, Java oder weitere Skriptsprachen. Die lokal vorgefundenen Cookies
    derselben Domain können ausgelesen, verwertet und geändert werden.
    Damit können Informationen über die lokalen Benutzeraktivitäten eingearbeitet
    werden, die in der Sitzung ohne weiteren Serverkontakt angefallen waren.
    Mit dem nächsten Kontakt zur Website werden sie auch dorthin übertragen.

Diese Cookie-Informationen werden dann lokal auf dem Endgerät gespeichert, üblicherweise in einer Cookie-Textdatei. Bei nachfolgenden weiteren Zugriffen auf den Webserver wird der eigene Browser alle Cookies in dieser Datei heraussuchen, die zum Webserver und Verzeichnispfad des aktuellen Aufrufs passen, und schickt diese Cookie-Daten im Header des HTTP-Zugriffs mit zurück, womit die Cookies jeweils nur an jenen Webserver zurückgehen dürfen, von dem sie einst stammten.

Ein Cookie kann beliebigen Text enthalten, kann also neben einer reinen Identifikation auch beliebige Einstellungen lokal speichern, jedoch sollte seine Länge 4 Kilobyte (4·1024 Byte) nicht überschreiten, um mit allen Browsern kompatibel zu bleiben. Die Cookies werden mit jeder übermittelten Datei übertragen, also auch mit Bilddateien oder jedem anderen Dateityp; dieses gilt insbesondere für eingebettete Elemente wie Werbebanner, die von anderen Servern eingebunden werden als dem Ursprung einer angezeigten HTML-Datei. So kann eine einzelne Webseite zu mehreren Cookies führen, die von verschiedenen Servern kommen und an diese jeweils wieder zurückgeschickt werden; mit einer Anfrage des Browsers werden alle den Server betreffenden Cookies gesendet.

Die Cookies werden ausschließlich vom Client verwaltet. Somit entscheidet der Client, ob beispielsweise ein Cookie gespeichert wird oder die vom Webserver gewünschte eingeschränkte Lebensdauer des Cookies durch Löschung ausgeführt wird.

Moderne Browser (wie etwa Mozilla Firefox) erlauben dem Nutzer meist einschränkende Einstellungen zum Umgang des Client mit Cookies, z. B.:

   • Keine Cookies annehmen.
   • Nur Cookies des Servers der aufgerufenen Seite annehmen
     (keine Cookies von Drittservern wie bei Werbebannern).
   • Benutzer bei jedem Cookie fragen.
     hier kann dann meist gewählt werden zwischen:
       - "erlauben" (bleibt), "für diese Sitzung erlauben"
           (wird immer angenommen, aber nach dem Schließen des Browsers gelöscht)
       - "ablehnen" (nicht akzeptieren)
       - Alle Cookies bei Beendigung des Client löschen ("Sitzungs-Cookie")
     wobei die gewählte Option zumeist gespeichert wird.

Dazu erlauben einige Browser verwaltende Aktionen wie:

   • Daten im Cookie ansehen.
   • Einzelne oder alle Cookies löschen.

Schließlich ist dem Benutzer mit Hilfsmitteln (Browser-Plugin) oder auch nur einem einfachen Editor die Veränderung der Inhalte von Cookies möglich. Dies gilt jedoch nicht für jeden Browser. So sind bei vielen Browsern die angesammelten Cookies so versteckt, das man sie nur mit erweiterten Kenntnissen der Browserstrukturen auffindet oder externe Programme dazu benutzt.

Ob ein Cookie angenommen (clientseitig gespeichert) wurde, muss die serverseitige Anwendung in weiteren HTTP-Anfragen erkennen, da vom Client keine Rückmeldung erfolgt.

Der Server kann ein Cookie durch Überschreiben mit leeren Daten löschen.

Die Verwendung von Cookies:

Eine typische Anwendung von Cookies ist das Speichern persönlicher Einstellungen auf Websites, zum Beispiel in Foren. Es ist eine Möglichkeit eine Webseite zu besuchen, ohne jedes Mal die Einstellungen erneut vornehmen zu müssen.

Mit Cookies können auch Sitzungen realisiert werden. Das HTTP ist per Definition ein zustandsloses Protokoll, daher ist für den Webserver jeder Zugriff völlig unabhängig von allen anderen. Eine Webanwendung, die sich über einen längeren Zeitraum hinzieht, muss mit Zusätzen auf der Anwendungschicht (im Browser) arbeiten, um den Teilnehmer über mehrere Zugriffe hinweg identifizieren zu können. Dazu wird in einem Cookie vom Server eine eindeutige Session-ID gespeichert, um genau diesen Client bei weiteren Aufrufen wieder zu erkennen und damit nicht bei jedem Aufruf einer Unterseite das Passwort erneut eingegeben werden muss.

Auch Online-Shops verwenden oft Cookies, um sitzungslose virtuelle Einkaufskörbe oder Übersichten über bereits angesehene Artikel zu ermöglichen. Der Kunde kann damit Artikel in den Einkaufskorb legen und sich weiter auf der Website umschauen, um danach die Artikel zusammen online zu kaufen. Die Artikel-Kennungen werden in einem Cookie gespeichert und erst beim Bestellvorgang serverseitig ausgewertet.
Vor allem Suchmaschinen (wie Google) sind in dieser Hinsicht sehr neugierig. Sie fragen oft die IP-Adresse und bsw. den Standort des Benutzers ab.

Damit bei Webanwendungen Benutzeraktionen und -eingaben, die für den Server bestimmt sind, bei Abbrüchen der Verbindung zum Server zum Beispiel in Mobilfunknetzen nicht verloren gehen, können Cookies zur Zwischenspeicherung eingesetzt werden. Sie werden dann bei Wiedererrichtung der Verbindung automatisch zum Server geschickt. Die Webanwendung erkennt dabei die Reihenfolge, in der die Cookies erzeugt wurden, und markiert bereits verarbeitete Cookies oder löscht deren Inhalt. Weil bei dieser Verwendung unter Umständen viele Cookies erzeugt werden, die frühestens beim Schließen des Browsers gelöscht werden, der Speicherplatz des Browsers für Cookies aber beschränkt ist, muss die Webanwendung Vorkehrungen gegen einen Cookie-Überlauf treffen.

Die Gefahren von Cookies

Die eindeutige Erkennung kann für Zwecke eingesetzt werden, die von vielen Benutzern als missbräuchlich angesehen werden. Cookies werden unter anderem dafür verwendet, Benutzerprofile über das Surfverhalten eines Benutzers zu erstellen. Ein Online-Shop kann beispielsweise diese Daten mit dem Namen des Kunden verknüpfen und zielgruppenorientierte Werbemails schicken. Jedoch kann der Online-Shop nur das Surfverhalten innerhalb seiner eigenen Webseite verfolgen.

Server, die nicht identisch mit dem Server der aufgerufenen Webpage sind, können etwa mit Bilddateien (Werbebanner oder auch Zählpixel) auch so genannte "serverfremde" Cookies setzen. Diese werden aufgrund ihrer Verwendung auch als "tracking cookies" bezeichnet (englisch für Verfolgen). Gegebenenfalls kann so der Besuch unterschiedlicher Websites einem Benutzer zugeordnet werden. Es entsteht eine "serverübergreifende" Sitzung. Daraus kann auf die Interessen des Besuchers geschlossen und Websites entsprechend angepasst ("personalisiert") werden. Bei einer Bestellung in einem Webshop etwa werden die angefallenen Daten naturgemäß einer konkreten Person zugeordnet.

Denkbar wäre ein potentieller Missbrauch bei einer möglichen Kooperation zwischen dem Webshop und dem Werbeunternehmen; diese kann verhindert werden durch eine entsprechende Browser-Einstellung, die nur Cookies des Servers der aufgerufenen Seite (Webshop) annimmt, nicht die der fremden Server, die die Werbung einblenden. Wirbt der Webshop allerdings selber, könnte diese zielgerichtete Werbung so nicht verhindert werden, aber sogar nützlich sein. Amazon wertet bekanntlich die Bestellhistorien der Käufer systematisch aus, um auch unbekannten Besuchern konkrete Vorschläge zu machen.

Noch nicht zu übersehen sind die Gefahren, die dadurch entstehen, dass Großunternehmen wie Google, deren Dienste praktisch jedermann ständig nutzt, sich vorbehalten, die dadurch entstehenden Daten auf unbegrenzte Zeit zu bevorraten und auszuwerten. Um Daten über das Nutzerverhalten zu sammeln, ist man nicht auf Cookies angewiesen. Das Problem ist also wesentlich allgemeinerer Natur.

In Umgebungen, in denen sich mehrere Nutzer denselben Rechner teilen, etwa in Schulen oder Internet Cafés, besteht allerdings die ganz konkrete und offensichtliche Gefahr, dass ein noch gültiger Sitzungs-Cookie vom nächsten Nutzer des Rechners verwendet wird, um diese Sitzung fortzusetzen. Dieses Risiko kann verhindert werden, indem man grundsätzlich alle Cookies vor dem Beenden des Browsers löscht oder eine entsprechende Browser-Einstellung nutzt.

Internetspuren beim Beenden des Browsers löschen:

Abschliessend empfehle ich jedem Internetbesucher, seinen Browser nach Möglichkeit so einzurichten, daß dieser beim Beenden seiner selbst die während der Nutzung angesammelten Cookies löscht, sodaß bei beim neuen Aufruf der selben Webseiten bei späteren Sitzungen keine weiteren Benutzerinformationen von vorherigen Sitzungen abgefragt werden können. Kann man seinen Browser nicht so einstellen, sollte man zu einem Programm greifen, mit dem man nach dem Gebrauch des Browsers seine Internetspuren (Cookies, temporäre Internetdateien, Besuchsverlauf usw.) verwischen, bzw. entfernen kann oder das bei einem Neustart des Computers kurzfristig aktiv wird, um vor einer weiteren Benutzung des Computers und des Browsers die Internetspuren zu verwischen. Hierzu eignet sich bsw. der CCleaner.

Download des CCleaner bei Piriform

Den CCleaner kann man übrigens so einstellen, daß er bei jedem Systemstart eine Reinigung durchführt.


© 06.03.2011 Ulli Reinders