2010-11-04 9 views
9

Ich verwende die lokale HTML 5-Speicher-API, um das Zugriffstoken eines Benutzers zu speichern. Die Anfragen hängen dann dieses Token an, um auf meine serverseitige API zuzugreifen. Ich frage mich, ob ich die Schlüssel verwenden muss, die ich benutze. Bereitet sich der Browser darauf vor oder muss ich den Schlüssel etwas wie 'my-awesome-app-token' nennen? Ich habe bemerkt, Twitter tut dies für einige Suchparameter.Namespace HTML 5 lokale Speicherschlüssel

BTW, ich weiß, dass es nicht sicher ist, das Token dort zu speichern, aber die Sicherheit ist hier nicht wichtig, die Frage betrifft Namespacing-Schlüssel.

Danke!

Antwort

4

Nein, Sie müssen es nicht tun, ein localStorage für jede Subdomain.

4

Ich sehe, dass jede Antwort zu dieser Frage Ihnen bisher sagt, dass Sie Ihre lokalen Speicherschlüssel nicht "namespace" benötigen. Ich bin mir nicht sicher, ob das stimmt.

Angenommen, Sie entwickeln eine Anwendung, und Sie müssen mehrere Instanzen dieser Anwendung ausführen. Dies könnte ein Test- und Produktionssystem oder mehrere Testsysteme sein. Wenn diese Apps auf demselben Protokoll/Server/Port laufen, aber mit einer anderen URL, haben sie Zugriff auf den gleichen lokalen Speicher.

Wenn Ihre Schlüssel Namen verwenden, die von anderen Entwicklern verwendet werden, wie "Benutzer", "Daten", "Cache", könnten Sie am Ende den lokalen Speicher aus einer anderen Anwendung lesen. Wenn diese App auf demselben Server ausgeführt wird

Um sicher zu sein, könnten Sie ein App-Präfix für Ihre Schlüssel und vielleicht auch eine App-ID verwenden, wenn Sie mehrere Instanzen auf demselben Server ausführen möchten.

Wenn ich die lokale Speicherung missverstanden habe, bitte korrigieren Sie mich.

0

Die anderen Antworten adressieren anwendungsübergreifende Namespaces, aber Namespaces sind auch wichtig im Fall von verschiedenen Bibliotheken, die von derselben Anwendung verwendet werden. Wenn Sie eine solche Bibliothek entwickeln, ist es wahrscheinlich für andere Bibliotheksentwickler (oder sogar für Ihre zukünftige selbst) respektvoll, die Speichernutzung Ihrer Bibliothek zu benennen.

Ein Beispiel, das ich heute Nacht kam, verwendet den Speicherschlüssel nonce. Wenn mehrere Bibliotheken versuchen, nonce innerhalb derselben App zu verwenden, wäre das problematisch. Wenn Sie eine Bibliothek für andere Entwickler entwickeln, wäre es nett, eine Präfix-Option zur Verfügung zu stellen: myapilib_ + nonce.