2012-06-28 16 views
5

Estoy intentando utilizar localStorage como un reemplazo de cookies (detesta las cookies) para que los usuarios puedan permanecer conectados en un sitio que opero.¿Puede localStorage ser modificado por un cliente?

lo que había planeado hasta ahora era salvar el nombre del usuario en el almacenamiento local, y tener el control en el lugar si algo estaba en localStorage, y si algo es en localStorage, que empujaría los datos localStorage a un archivo PHP a través de POST y presione al usuario para iniciar una nueva sesión de PHP y devolverlos a donde estaban.

Aunque tengo la inquietud, sé que se puede ver localStorage, en cuyo caso podría ser lógico cifrar el servidor de datos.

¿Pero se pueden modificar los datos de LocalStorage? De lo contrario, estaría bien hacerlo, incluso sin cifrado, pero obviamente, si un usuario pudiera modificar los datos de almacenamiento local, tendría acceso a las cuentas de los demás, lo cual, como se puede imaginar, no es algo bueno.

tuve la duda porque JavaScript puede ser ejecutado por un cliente en un navegador, es decir:

javascript:alert("hello"); 

¿No será posible averiguar el nombre var del localStorage y restablecer su valor como este?

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

Básicamente, pregunto: ¿Se pueden modificar los datos de Almacenamiento local de HTML5 en el lado del cliente?

Saludos, Karan :)

+2

Esto parece que sería relativamente trivia l para que pruebes –

+0

Como dijo Anthony, ¿qué tan difícil sería para usted establecer una variable y luego probar su teoría? Tiene todo el código escrito para probarlo en su OP. –

+1

Debería suponer que cualquier dato retenido en el cliente podría ser alterado con la cantidad correcta de habilidades y conocimientos. Si la seguridad es un problema, no debe basar la seguridad de su aplicación en almacenamiento persistente o cookies persistentes para ese asunto. – Brad

Respuesta

7

de almacenamiento local se une al dominio, por lo que en caso normal el usuario no puede cambiarla en cualquier otro dominio o en el servidor local.

También está vinculado por usuario/navegador, es decir, ningún tercero tiene acceso a su almacenamiento local.

Sin embargo, el almacenamiento local es al final un archivo en el sistema de archivos del usuario y puede ser pirateado.

7

Existen agregados tales como p. Foundstone HTML5 Local Storage Explorer para Firefox, que permite que los usuarios no sólo para navegar localStorage a nivel mundial, sino también para modificar su contenido:

Local Storage Explorer

para que no me confiar en nadie que tenga acceso a ella ni nadie puede alterarla. Al menos desde el cliente, es posible con facilidad. Desde otro sitio web, podría ser más complicado, y ciertamente implicaría un "agujero de seguridad", ya que no es el uso previsto.

Actualización: Mientras tanto, al menos en Firefox, ni siquiera necesita ningún complemento para eso.Sólo tiene que pulsar Ctrl + Shift +I, seleccione la ficha Almacenamiento , y en la columna izquierda seleccione almacenamiento local - donde se puede ver e incluso editar el almacenamiento local para el sitio que ha se puso en primer plano la pestaña:

LocalStorage browser
Almacenamiento local del navegador incorporado para Firefox (click en la imagen para la variante más grande)

Cuestiones relacionadas