2010-11-04 16 views
9

Sto utilizzando l'API di archiviazione locale HTML 5 per memorizzare il token di accesso di un utente. Le richieste quindi accodano questo token per accedere alla mia API lato server. Mi chiedo se ho bisogno di spazio dei nomi i tasti che uso. Il browser si occupa di questo o devo chiamare la chiave qualcosa come "my-awesome-app-token"? Ho notato che Twitter lo fa per alcuni parametri di ricerca.Spazio dei nomi HTML 5 chiavi di memorizzazione locali

BTW, so che non è sicuro archiviare il token ma la sicurezza non è importante qui, la domanda riguarda le chiavi dei nomi.

Grazie!

risposta

4

No non è necessario farlo, un localStorage per ogni sottodominio.

4

Vedo che tutte le risposte a questa domanda fino ad ora ci dicono che non è necessario "spazio dei nomi" per le chiavi di memorizzazione locale. Non sono così sicuro che sia corretto.

Supponiamo di sviluppare un'applicazione e di eseguire più istanze di tale applicazione. Questo potrebbe essere un sistema di test e produzione, o diversi sistemi di test. Ad ogni modo, se queste app girano sullo stesso protocollo/server/porta, ma con un URL diverso, avranno accesso allo stesso archivio locale.

se le chiavi utilizzano nomi che potrebbero essere utilizzati da qualsiasi altro sviluppatore come "utente", "dati", "cache", è possibile che finisca per leggere del tutto lo spazio locale da un'altra applicazione. Se l'app è in esecuzione sullo stesso server.

Per essere sicuri, potresti non usare un prefisso app per le tue chiavi e forse anche un app-id se vuoi eseguire più istanze sullo stesso server.

Se ho frainteso il modo in cui la memoria locale funziona, correggimi.

0

Le altre risposte riguardano gli spazi dei nomi delle applicazioni incrociate, ma gli spazi dei nomi sono importanti anche nel caso di librerie diverse utilizzate dalla stessa applicazione. Se si sta sviluppando una tale libreria, sarebbe probabilmente rispettoso per gli altri sviluppatori di librerie (o anche per il proprio futuro) per lo spazio dei nomi sull'utilizzo della memoria della propria biblioteca.

Un esempio che ho trovato stasera utilizza la chiave di archiviazione nonce. Se più librerie cercassero di utilizzare nonce all'interno della stessa app, sarebbe problematico. Se si sta sviluppando una libreria per l'utilizzo da parte di altri sviluppatori, sarebbe opportuno fornire un'opzione di prefisso: myapilib_ + nonce.

Problemi correlati