2012-06-28 12 views
5

Sto tentando di utilizzare localStorage come cookie sostitutivo (detesto i cookie) in modo che gli utenti possano rimanere collegati su un sito che utilizzo.Can localStorage può essere modificato da un client?

Quello che ho progettato finora è stato per salvare il nome utente dell'utente in localStorage, e hanno il controllo del sito se qualcosa era in localStorage, e se qualcosa è in localStorage, sarebbe spingere i dati localStorage in un file PHP tramite POST e spingere l'utente ad avviare una nuova sessione PHP e riportarli dove erano.

Anche se ho il problema, so che localStorage può essere visualizzato, nel qual caso la crittografia del lato server potrebbe avere un senso.

Ma i dati LocalStorage possono essere modificati? In caso contrario, sarebbe bene farlo, anche senza crittografia, ma ovviamente se un utente potesse modificare i dati localStorage, avrebbe accesso agli account degli altri, che, come potete immaginare, non è una buona cosa.

ho avuto il dubbio perché JavaScript può essere eseguito da un cliente in un browser, vale a dire:

javascript:alert("hello"); 

Non potrebbe essere possibile scoprire il nome var del localStorage e reimpostare il suo valore come questo?

javascript:localStorage.setItem('sessionusername','superadmin'); 

Fondamentalmente, chiedo: I dati di archiviazione locale HTML5 possono essere modificati sul lato client?

Cheers, Karan :)

+2

Questo sembra che sarebbe relativamente trivia l per te da testare. –

+0

Come ha affermato Anthony, quanto sarebbe difficile per te impostare una variabile, quindi testare la tua teoria? Hai scritto tutto il codice per testarlo nel tuo OP. –

+1

Dovresti dare per scontato che qualsiasi dato conservato sul cliente possa essere alterato con la giusta quantità di abilità e conoscenze. Se la sicurezza è un problema, non dovresti basare la sicurezza delle tue applicazioni su archiviazione permanente o cookie persistenti. – Brad

risposta

7

memorizzazione locale è legato al dominio, quindi in caso regolare l'utente non può cambiare in qualsiasi altro dominio o su localhost.

È inoltre associato per utente/browser, ovvero nessuna parte terza ha accesso alla propria memoria locale.

Tuttavia, l'archiviazione locale è alla fine un file sul file system dell'utente e potrebbe essere compromessa.

7

Ci sono addons come ad es. Foundstone HTML5 Local Storage Explorer per Firefox, che permettono agli utenti non solo di sfogliare localStorage a livello globale, ma anche di modificarne il contenuto:

Local Storage Explorer

Quindi io non mi fiderei a nessuno avere accesso ad esso o nessuno può modificarlo. Almeno dal cliente, è possibile con facilità. Da un altro sito web, potrebbe essere più complicato e sicuramente comporterebbe un "buco di sicurezza" in quanto non è l'uso previsto.

Aggiornamento: Nel frattempo, almeno in Firefox, non è nemmeno necessario alcun addon per questo.Basta premere Ctrl + Maiusc +I, selezionare la scheda bagagli, e nella colonna più a sinistra selezionare Local Storage - dove è possibile visualizzare e anche modificare la memorizzazione locale per il sito che hai ottenuto nella scheda in primo piano:

LocalStorage browser
locale del browser bagagli built-in per Firefox (clicca sull'immagine per la variante più grande)

Problemi correlati