/ secondscreen

Nicht lecker, sondern (un)gefährlich: Alles, was du über Cookies im Web wissen musst

Hier kommt das Cookie-Monster

Cookies hören sich doch eigentlich lecker an, doch diese kleinen und nützlichen Tools verbreiten oft Angst und Schrecken. Inzwischen muss jeder Webseitenbetreiber per EU-Beschluss ausdrücklich auf die Verwendung von Cookies hinweisen und darf diese erst nach Zustimmung des Nutzers verwenden. Doch was macht ein Cookie und warum ist es so gefährlich? Dieser Frage möchten wir in diesem Blogpost nachgehen.

alt

Was kann ein Cookie denn genau?

Eigentlich handelt es sich bei Cookies nur um kleine Textdateien, in denen ein Browser beim Besuchen einer Seite Daten hinterlegen kann. Diese Dateien liegen in einem Ordner auf dem Computer und jeder kann sie sich anzeigen lassen und mit einem Texteditor nach Belieben editieren. Beispielsweise kann man seine Cookies unter Mac in "~/Library/Cookies" oder unter Windows für Firefox in "C:\Documents and Settings\username\Application Data\Mozilla\Firefox\Profiles\xxxx.default" finden.

Der Zugriff auf Cookies für Webseiten ist jedoch auf das eigene Cookie beschränkt. Das heißt, unsere flickstuff.de-Seite kann nur auf den Cookie "de.flickstuff.txt" zugreifen. Damit wird sichergestellt, dass keiner die Geheimnisse anderer Seiten ausspionieren kann.

Cookies-Überblick:

  • kleine Textdatei, in der Webseiten Informationen ablegen kann
  • für jede Seite gibt es ein eigenes Cookie
  • ein Cookie kann nur von der eigenen Seite geschrieben und gelesen werden
  • ein Cookie sammelt keine Daten, die später verschickt werden

Sicherheit geht vor

Problematisch sind diese Cookies in der Hinsicht, dass es sich wirklich nur um Textdateien handelt, die jeder per Hand öffnen kann. Das gilt auch für installierte Browser-Erweiterungen, die selbst Code in eine Seite injizieren können. Meistens geschieht das mit guter Absicht, z.B. AdBlocker injiziert ein Stück Code, der wie von Zauberhand alle Werbung entfernt. Allerdings könnten Plug-ins auf diese Weise auch unbefugten Zugriff auf Cookie-Inhalte erlangen. Deshalb ist es für Webseitenbetreiber besonders wichtig, nie geheime Informationen in Cookies unverschlüsselt zu hinterlegen. Anwender sollten daher auch nur Plug-ins aus vertrauenswürdigen Quellen installieren.

Wofür überhaupt Cookies?

Man stelle sich vor, man besucht eine Seite, z.B. amazon.de. Dort findet man ein wunderschönes T-Shirt, das man in seinen Warenkorb legt, ohne sich anzumelden. Anschließend kommt man auf den roten Knopf und schließt versehentlich den Browser… ahh. So wären die Daten weg und beim nächsten Amazon-Aufruf die mühevoll zusammengesuchte Wuschliste nicht mehr auffindbar. Das kommt daher, dass der Browser keine Identifikation zulässt und beim Besuch der Website jedes Mal ein neuer Nutzer erkannt wird.

Wie mit einem Gedächtnislosen

Es verhält sich wie beim Treffen eines Gedächtnislosen, dem man sich jedes Mal mit Namen vorstellen muss. Bringt der Gedächtnislose jedoch ein Namensschild an dir an, kann er dich jedes Mal richtig ansprechen. Dasselbe passiert auch bei Cookies. Oftmals speichert eine Seite darin eine zufällige Zahl, also ein zufällig generiertes Namensschild, mit dem es dich dann wiedererkennt. Zusätzlich können Einstellungen darin hinterlegt werden, beispielsweise welchen Artikel du zuletzt gesehen hast. Auch Anmeldedaten werden oft (zumeist gut verschlüsselt) in Cookies hinterlegt, sodass man nicht ständig sein Facebook-Passwort neu eingeben muss.

Datenschutz geht vor

In so gut wie jeder Datenschutzerklärung findet sich ein Abschnitt, der erklärt, dass auf der Seite Cookies zum Einsatz kommen. Warum man eine Datenschutzerklärung benötigt, wird in vielen Blog-Einträgen ausführlich erklärt (hier von unserem Anwalt: http://www.rechtzweinull.de/archives/2005-datenschutzrechtliche-anforderungen-an-webseiten.html).

Google Analytics

Ein wichtiger Punkt in der Datenschutzerklärung ist der Abschnitt zur Verwendung von Analyseservices, mit der das Nutzungsverhalten eingesehen werden kann. Ein bekannter Dienst ist der von Google.

Einbindung

Bei Google Analytics handelt es sich um ein Analysetool für Webseitennutzung und Besucherstatistiken. Man platziert auf der eigenen Seite einen kleinen Code-Schnipsel, den man nicht selber schreiben muss, und fügt einfach die Kennungs-ID ein, die man von Google für seine Seite zugewiesen bekommt:

Javascript-Code-Schnipsel von unserer Seite:

<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
</script>

Schauen wir uns das mal genauer an, denn dieser Code-Schnipsel wird jedes mal aufgerufen, wenn man die Seite besucht:

// In diesem Abschnitt wird die Google Analytics Bibliothek heruntergeladen und in das Dokument eingebunden. Die Bibliothek kann man unter www.google-analytics.com/analytics.js einmal genauer unter die Lupe nehmen, allerdings wurde sie bereits so komprimiert, sodass man kaum etwas entziffern kann. 
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

// Anschließend wird die Kennungs-ID registiert, damit Google weiß, zu welcher Seite die Nutzungsdaten zugeordnet werden sollen.
ga('create', 'UA-XXXXX', 'auto');

// Dieser Schritt ist optional, aber in Deutschland Pflicht. Mit diesem Aufruf wird die IP-Adresse des Seitenbesuchers anonymisiert, da diese nicht ohne Weiteres an Google geschickt werden darf. 
ga('set', 'anonymizeIp', true);

// Anschließend wird ein Seitenaufruf bei Google registriert. Es gibt noch andere Dinge, die an Google Analytics geschickt werden können, wie Performance und Zeitmessungen. Wir wollen einfach nur erfahren, wie viele Leute unsere Seite besuchen.
ga('send', 'pageview');

Warum dann Cookies?

Um festzustellen, dass es sich bei einem Webseitenbesuch um die gleiche Person handelt, platziert Google ebenfalls eine zufällig erstellte Nutzerkennung. Diese lässt zwar keine Rückschlüsse auf andere Seiten zu, die sonst noch besucht wurden, da für jede Seite eine andere Kennung generiert wird. Allerdings wird ein Neuladen der Seite nicht doppelt gezählt. Die 1000 Seitenaufrufe, über die wir uns so gefreut haben, könnten schließlich von einem einzelnen Nutzer kommen, wahrscheinlich von mir selbst :(

Opt-Out

Ein weiterer wichtiger Punkt in der Datenschutzerklärung ist der Hinweis auf die Möglichkeit, die Sammlung der Nutzungsdaten mit Google Analytics zu untersagen. Ein einfaches Deaktivieren von Cookies im Browser ist dabei nicht ausreichend, da der oben gezeigte Code trotzdem ausgeführt wird. Zwar wird keine eindeutige Kennung in das Cookie hinterlegt, allerdings werden die eigenen Daten immer noch fleißig bei jedem Aufruf an Google gesendet. Problematisch ist bei der Deaktivierung zusätzlich, dass unsere Seite keine eigenen Informationen in Cookies hinterlegen kann. Deshalb wird oft die Anmerkung gemacht, dass der Funktionsumfang der Seite eingeschränkt sein könnte.

Google stellt für die gängigsten Desktopbrowser ein Plug-in zur Verfügung, das die Verbindung zu Google Analytics dauerhaft verhindert. Dieses kann unter "http://tools.google.com/dlpage/gaoptout?hl=de" heruntergeladen werden. Leider gibt es diese Plug-ins nicht für alle Browser und überhaupt nicht für mobile.

Alternativ kann man einen Link in die Seite einpflegen, der das Tracking deaktiviert. Und dabei verwenden wir einen Cookie :) Yey! Wie kann das Ganze aussehen?

Zuerst bindet man folgenden HTML-Link in die Seite ein:
Der Link ruft eine Funktion auf, die das Tracking deaktiviert. Die Funktion muss man allerdings selbst schreiben und wird nicht vorgegeben. Weiter unten sieht man eine Möglichkeit, wie das aussehen kann.

<a href="javascript:gaOptout()">Click here to opt-out of Google Analytics</a>

Folgenden Code-Schnipsel fügt man ebenfalls in der Seite ein. Dieser Abschnitt wird ebenfalls bei jedem Webseiten-Besuch aufgerufen:

<script>

// Hier steht unsere Google Analytics ID drin
var gaProperty = 'UA-XXXX-Y';

// Man schaut im eigenen Cookie nach, ob das letzte Mal das Tracking deaktiviert wurde und deaktiviert gegebenenfalls wieder.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
  window[disableStr] = true;
}

// Hier wird eine Funktion erstellt, die beim Aufruf das Tracking deaktivieren kann. Sie wird allerdings erst beim Klicken des Links aufgerufen.
function gaOptout() {
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
  window[disableStr] = true;
}
</script>

Diesen Teil wollen wir uns allerdings noch einmal genauer anschauen: Die Funktion, die das Tracking deaktivieren kann.

function gaOptout() {

  // Im ersten Schritt wird das Cookie geschrieben. Hier wird "ga-disable-UA-XXXX-Y=true;expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/" in das Cookie gespeichert. Den ersten Teil lesen wir beim nächsten Webseiten-Besuch wieder aus, damit wir das Tracking sofort wieder deaktivieren können. Der hintere Teil gibt dem Cookie ein Ablaufdatum, das weit in der Zukunft liegt.
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';

  // Im zweiten Teil wird das Tracking deaktiviert. 
  // Technisch: Es wird in der temporären (bis zur Beendigung des Seitenaufrufs) window-Variable, bei der es sich um ein object handelt, ein entsprechender key auf true gesetzt. Dieser wird von der Google-Analytics-Bibliothek vor dem Abschicken der Nutzerdaten überpfrüft.
  window[disableStr] = true;
}

Beim nächsten Seitenaufruf wird zuerst überprüft, ob unser Deaktivierungs-Cookie gesetzt ist und die Trackingfunktion gegebenenfalls aufs Neue deaktiviert. In der Übersicht werden die verschiedenen Methoden verglichen. Falls man sehr viel Wert auf seine Datensicherheit legt, sollte man sich das Plug-in installieren. Ansonsten wird mindestens eine Nachricht an Google geschickt.

Ein Webseitenbetreiber sollte in seiner Datenschutzerklärung also darauf hinweisen, dass eine Deaktivierung von Cookies im Browser zwar die Identifikation durch Google Analytics beim zweiten Besuch der Webseite verhindert, jedoch die Übertragung von Nutzungsdaten an Google nicht vollständig unterbindet. Wirklich helfen kann die Deaktivierung der Ausführung von Code (JavaScript), was die meisten Seiten jedoch unbrauchbar macht. Zusätzlich muss auf die verschiedenen Alternativen hingedeutet werden, mit denen sich ein Nutzer vor Datenübertragung in die USA schützen kann.

Als Besucher einer Seite sollte man sich darüber im Klaren sein, dass Betreiber der Seite daran interessiert sind zu messen, wie viele Besucher tatsächlich die Seite anschauen. Tausende von Besuchern motivieren natürlich. Wer dem ganzen Tracking jedoch kritisch gegenübersteht, sollte seine Möglichkeiten kennen und je nach Möglichkeit nutzten, indem entweder das Plugin installiert wird oder für jede Seite im Impressum der Opt-Out-Link geklickt wird.

Zu erwähnen bleibt, das Google Analytics nicht die einzige Möglichkeit ist Nutzer zu tracken, es gibt viele (auch deutsche) Alternativen. Hierfür hilft das Plugin von Google dann allerdings auch nicht. Dazu muss jedoch in den Datenschutzhinweisen ein entsprechender Eintrag stehen.

Zusammengefasst:

  • Cookies sind nicht böse.
  • Google Analytics hilft uns, unsere Nutzer besser zu verstehen und unser Angebot anzupassen.
  • Datenschutz ist wichtig und wird von uns eingehalten.
  • Deaktivierung der Cookies hilft nur bedingt.
  • Wir können Cookies verwenden, um das Tracking zu deaktivieren.
  • Wem seine Privatsphäre wirklich wichtig ist, sollte das Plugin installieren