HTML5网络存储:不同的网站可以在用户的​​计算机上覆盖彼此的数据吗?

cod*_*ash 10 html5 local-storage web-storage

关于HTML5存储的概念,我有几个问题.我对w3c规范,书籍和教程进行了相同的讨论,但我仍然对某些概念有点不清楚:

假设我访问网站A.一些JavaScript在我的浏览器中运行,设置一个键值对,比方说('username','deepak').然后我访问网站B,它还在localstorage中添加了一个键值对('username','mahalingam').

  • 它们如何区分?
  • 网站B是否会覆盖我的本地存储中网站A设置的值?
  • 我们怎样才能确保网站不会删除我所有的本地存储?

Ale*_*rty 8

本地存储隐私

网站A和网站B将拥有自己的本地存储空间.通常,您必须将某些信息存储在服务器数据库中并将其同步到本地存储.

我会使用本地存储作为缓存来获取一次数据并以一定的间隔更新它,具体取决于我想要使缓存无效的时间.例如,当用户A注销并且用户B想要登录时,您可以与服务器同步.

请查看Web存储的HTML5规范中的隐私部分.

更多信息和资源:HTML5 Rocks.

测试

我建议使用本地服务器设置,如Linux/Mac/Windows,Apache,MySQL,PHP堆栈(LAMP/MAMP/WAMP)来测试localhost(127.0.0.1).

由于HTML5规范建议,大多数浏览器会将每个窗口和选项卡的每个域限制为5 MB.

我没有试过这个,但你可以看看在Apache的httpd.conf中更改localhost的端口号(为此,查找Listen并更改与之关联的端口),看看是否可以解决这个问题.基本上,您在不同的端口号下运行每个测试,以获得每个测试的整个存储限制.

另一种方法是创建Chrome扩展程序.您可以在这里阅读更多相关信息: