Für das Surfen auf Webseiten ist das Zuordnen von Daten zu Besuchern nicht zwingend notwendig. Dennoch ist es auch im Sinne der Besucher, dass bestimmte Daten temporär gespeichert und ausgewertet werden können. Auf den Webservern werden u.a. LOG-Dateien erstellt, über die anonymisierte statistische Auswertungen erfolgen können.

Wenn dem Autor der Webseite bekannt ist, dass die Besucher sich für ein bestimmtes Thema ganz besonders interessieren, dann könnte er zu diesem Thema weitere interessante Artikel schreiben.

Für Webanwendungen, wie Chats, Shops, Foren oder Online-Games geht es allerdings nicht ohne Zuordnung. Schließlich soll der Besteller der Waren im Shop, diese auch erhalten.

Aus gutem Grund gibt es das Datenschutzgesetz. Darin ist geregelt, dass der Besucher über Daten die erfasst werden in Kenntnis zu setzen ist. Eine entsprechende Datenschutzerklärung ist deshalb Pflicht sobald Daten gespeichert werden. Laut EU-Richtlinie ist z.B. für das Setzen von Cookies die Zustimmumg durch den Besucher zwingend erforderlich.

Nachdem die Vorarbeit geleistet ist und der Besucher Bescheid weiß, muss nun der Server den Besucher erkennen. Dies wird in der Regel über Login-Systeme unter Verwendung von Session-IDs umgesetzt.

Die Daten zur Session werden auf dem Server gespeichert und auf dem Computer des Besuchers wird die zugehörige ID als Session-ID in einem Cookie gespeichert. Für die Dauer der Sitzung werden nun die Daten zwischen Client und Server über die Session-ID ausgestauscht.

Erlaubt eine Webseite keine Cookies muss die Session-ID per URL oder POST übertragen werden, dies ist eine unsichere Methode, weil die Session-ID ggf."entführt" werden kann.

Zum Projekt "die Matheburg" gehören neben dem Adventskalender weitere Mini-Spiele. Die Spieler wurden bisher für den Eintrag im Highscore über ein "DiMabu"-Cookie erkannt und mussten so ihren Spielernamen nicht neu eintragen. Voraussetzung dafür war, dass der Spieler der Verwendung von Cookies zugestimmt hatte.

Weil Cookies nur für die Domain gelten, in der diese gesetzt wurden, musste eine Besucher, der sich auf unterschiedlichen Domains angemeldet hat, seinen Benutzernamen neu eintragen. Da außer dem Adventskalender kein Spiel mehrere Levels hatte, ist dieser Punkt bisher nicht bearbeitet worden.

Auch bei Umstellung auf WebStorage, sind die lokalen Daten der aufrufenden Domain fest zugeordnet und können nicht von anderen Doamins gelesen werden.

Auch wenn dies ein mehr an Programmierarbeit bedeutet, ist dies im Bezug auf Sicherheit zu begrüßen.

Für die Matheburg wird deshalb eine einfache Benutzerverwaltung mit Passwort umgesetzt. Der User kann anschließend seine in den local Storage gespeicherten User-IDs aus verschiedenen Domains zusammenführen. Danach werden alle Highscore-Einträge bei der Auswertung von Meisterschaften und Pokalen berücksichtigt.

Um zu Verhindern, dass Hacker dieses Verfahren ausnutzen können, wird bei Pokalen nicht nur die erreichten max. Punktzahl, sondern auch der mittlere Wert und die Anzahl der Versuche ausgewertet.

Mit den neuen Browsertechniken ist eine neue Möglichkeit Daten local zu speichern entstanden: Web Storage. Dazu gehören Local Storage (Ersatz für Langzeit Cookies) und Session Storage (Ersatz für Cookies, die nur für eine Sitzung gelten).

Cookies sind kleine Dateien, die auf dem lokalem Rechner des Besuchers gespeichert werden. Web Storage werden vom Browser verwaltet sie können deutlich mehr und größere Daten verwalten als Cookies und ermöglichen es somit bestimmte Webanwendungen Offline verfügbar zu machen.

Wenn die kleinen Dateien Kekse (Cookies) waren, dann sind Web Storage große Kekse, Muffins oder Torten?

Diese neue Technik erlaubt es Daten auf dem lokalem Rechner zu speichern ohne diese ständig mit zu übertragen. Alle Daten, die nicht zwingend auf dem Server benötigt werden, verlassen den lokalen Rechner nicht mehr.

Wenn ein neuer Besucher unsere Seite besucht, und sich einen Namen aussucht, müssen wir seinen Spieler-Namen auf dem Server noch nicht wissen. Er muss also nicht übertragen werden!

Erst wenn der Besucher seinen erreichten Punktestand mit seinem Spieler-Namen in den Highscore eintragen möchte, wird der Spieler-Name zusammen mit dem Punktestand übertragen. Auf unserem Server wird dabei eine ID verwendet. Durch die Verwendung einer ID kann der Besucher seinen Spieler-Namen ändern, ohne dass seine bisherigen Erfolge und gelöste Level verlorengehen.

Ein Passwort muss nicht zwingend vergeben werden, denn der local Storage speichert den Nicknamen, zugehörige ID und den aktuellen Stand im Spiel.

Anmerkung

Für die Speicherung der aktuellen Session-Kennung werden die sogenannte Session-Cookies weiterhin verwendet. Denn die Daten aus den Web Storages bleiben auf dem Browser, damit kann der Server diese nicht interpretieren.

Viele Besucher besitzen mehrere internetfähige Geräte: Computer, Handy, Tablet-PC oder Notebook?

In diesem Fall werden Besucher die über Cookies oder Local Storage identifiziert werden vom Server als verschiedene Spieler wahrgenommen. D.h. der Spieler beginnt das Spiel auf jedem Gerät jeweils beim ersten Level.

Wenn der Besucher auf allen Geräten die gleichen Daten verwenden möchte, muss dies dem Server mitgeteilt und dort entsprechend zugeordnet werden. Dazu wird der Benutzer aufgefordert einen Benutzernamen und ein Passwort festzulegen. Optional kann auch eine E-Mail-Adresse eingetragen werden.

Die E-Mail-Adresse wird ausschließlich für die Übersendung eines "Passwort vergessen - Passwort neu setzen"-Links verwedent. Alle anderen Nachrichten, soweit vorhanden werden nach erfolgreicher Anmeldung unter Nachrichten auf unserer Seite angezeigt.

Durch die Verwendung einer Anmeldung können anschließend auch Domain übergreifend Einträge in Highscorelisten zugeordnet werden.

Dies ist insbesondere dann von Interesse, wenn sich die Domain ändert, z.B. nach Installation eines TLS/SSL-Zertifikates.

Cookies (deutsch: Kekse) sind kleine Dateien, die auf dem Rechner abgelegt werden, um Daten zwischenzuspeichern. In der ersten Version unseres Adventkalenders haben wir Cookies zum Speichern des Benutzernamens und einer Kennung für die Validierung des Highscores verwendet. Damit konnten wir auf eine Registrierung mit E-Mail-Adresse und Login mit Passwort verzichten.

Weiterlesen: Kekse

^