2010-11-04 7 views
9

Estoy usando la API de almacenamiento local HTML 5 para almacenar un token de acceso de usuario. Las solicitudes a continuación agregan este token para acceder a mi API del lado del servidor. Me pregunto si necesito espacio de nombres para las teclas que uso. ¿El navegador se ocupa de esto o necesito llamar a la clave algo así como 'my-awesome-app-token'? Noté que Twitter hace esto para algunos parámetros de búsqueda.Espacio de nombres HTML 5 claves de almacenamiento local

Por cierto, sé que no es seguro almacenar el token allí, pero la seguridad no es importante aquí, la pregunta es acerca de las teclas de espacios de nombres.

Gracias!

Respuesta

4

No, no es necesario hacerlo, un local Almacenamiento para cada subdominio.

4

Veo que cada respuesta a esta pregunta hasta el momento le dice que no necesita "espacio de nombre" las teclas de almacenamiento local. No estoy tan seguro de que esto sea correcto.

Digamos que desarrolla una aplicación y necesita ejecutar varias instancias de esa aplicación. Esto podría ser un sistema de prueba y producción, o varios sistemas de prueba. De todos modos, si estas aplicaciones se ejecutan en el mismo protocolo/servidor/puerto, pero con una URL diferente, tendrán acceso a la misma ubicación local.

si sus claves están utilizando nombres que cualquier otro desarrollador podría usar como "usuario", "datos", "caché", podría terminar leyendo localstorage de otra aplicación por completo. Si esa aplicación se está ejecutando en el mismo servidor.

Para estar seguro, es posible que desee utilizar un prefijo de aplicación para sus claves y tal vez también un ID de aplicación si desea ejecutar varias instancias en el mismo servidor.

Si he entendido mal cómo funciona el almacenamiento local, por favor corrígeme.

0

Las otras respuestas se refieren a los espacios de nombres de varias aplicaciones, pero los espacios de nombres también son importantes en el caso de diferentes bibliotecas utilizadas por la misma aplicación. Si está desarrollando una biblioteca de este tipo, probablemente sea respetuoso con otros desarrolladores de la biblioteca (o incluso con su futuro) el espacio de nombres del uso de almacenamiento de su biblioteca.

Un ejemplo que encontré esta noche utiliza la clave de almacenamiento nonce. Si varias bibliotecas intentaran usar nonce dentro de la misma aplicación, eso sería problemático. Si está desarrollando una biblioteca para el uso de otros desarrolladores, sería bueno proporcionar una opción de prefijación: myapilib_ + nonce.

Cuestiones relacionadas