Ci sono due preoccupazioni per l'archiviazione locale in HTML5 -
- Un sito web la lettura dei dati in linea che un altro sito ha memorizzato in un browser degli utenti
- Un utente finale interrogazione i tuoi dati offline siti web direttamente
Per 1, i browser applicano le restrizioni dello stesso dominio a localStorage (o al sqllit supporto del database fornito da Safari), pertanto altri siti Web non avranno accesso ai dati archiviati. Tuttavia, ricorda che se il tuo sito ha vulnerabilità XSS, sarebbe possibile rubare i dati.
Per 2, non è possibile impedirlo. È proprio come un cookie: l'utente può scegliere di visualizzarlo/cancellarlo/modificarlo.
È possibile la crittografia dei dati (vedere http://farfarfar.com/scripts/encrypt/), ma inutile. Non puoi avere una sola chiave/password globale, perché un utente malintenzionato può facilmente capire la chiave dal codice javascript. È possibile utilizzare una password immessa dall'utente per crittografare/decrittografare, ma le librerie di crittografia sul lato client non sono mature o testate abbastanza bene. Ci sono probabilmente tonnellate di modi per romperlo.
Quindi, per ora almeno, non archiviare i dati riservati in localStorage.
fonte
2010-04-15 05:03:22
Si veda anche qui: http://stackoverflow.com/questions/5976046/html5-client-side-data-encryption-what- are-my-options/6686558 # 6686558 – user832834