HTML5-Webspeicher: Können verschiedene Websites die Daten eines anderen auf dem Computer eines Benutzers überschreiben?

8

Ich habe ein paar Fragen zum Konzept des HTML5-Speichers. Ich habe die w3c-Spezifikation, Bücher und Tutorials zur gleichen Zeit durchgearbeitet, aber ich bin immer noch etwas unklar über bestimmte Konzepte:

Angenommen, ich greife auf die Website A zu. In meinem Browser wird JavaScript ausgeführt, das ein Schlüsselwertpaar festlegt, z. B. ('username','deepak') . Dann greife ich auf die Website B zu, die auch ein Schlüssel-Wert-Paar im lokalen Speicher als ('username','mahalingam') hinzufügt.

  • Wie werden sie beide unterschieden?
  • Wird Website B den Wert von Website A in meinem lokalen Speicher überschreiben?
  • Wie können wir sicherstellen, dass eine Website nicht alle meine lokalen Speicher löscht?
codingsplash 15.09.2012, 13:37
quelle

1 Antwort

5

Lokaler Speicherschutz

Website A und Website B hätten ihren eigenen lokalen Speicher. Normalerweise müssten Sie bestimmte Informationen in einer Server-Datenbank speichern und mit dem lokalen Speicher synchronisieren.

Ich würde den lokalen Speicher als Cache verwenden, um Daten einmal zu erhalten und sie in einem bestimmten Intervall zu aktualisieren, abhängig davon, wann ich den Cache ungültig machen möchte. Zum Beispiel könnten Sie mit dem Server synchronisieren, wenn sich der Benutzer A abmeldet und Benutzer B sich anmelden möchte.

Sehen Sie sich den Abschnitt Datenschutz in der HTML5-Spezifikation für Web Storage an.

Weitere Informationen finden Sie hier: HTML5 Rocks .

Testen

Ich würde vorschlagen, einen lokalen Server Setup wie Linux / Mac / Windows, Apache, MySQL, PHP-Stack (LAMP / MAMP / WAMP) auf localhost (127.0.0.1) zu testen.

Die meisten Browser beschränken Sie aufgrund der HTML5-Spezifikationen auf 5 MB pro Domäne für jedes Fenster und jeden Tab.

Ich habe das nicht versucht, aber Sie könnten vielleicht die Port-Nummer des localhost in Apache Ссылка ändern (dazu finden Sie Listen und ändern den zugehörigen Port) es) und sehen, ob dies den Trick tun wird. Grundsätzlich führen Sie jeden Test unter einer anderen Portnummer durch, um für jeden Test das gesamte Speicherlimit zu haben.

Eine Alternative wäre das Erstellen einer Chrome-Erweiterung. Weitere Informationen dazu finden Sie hier:

Alerty 15.09.2012, 13:55
quelle