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

时间:2012-09-15 13:37:06

标签: html5 local-storage web-storage

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

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

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

1 个答案:

答案 0 :(得分:8)

本地存储隐私

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

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

查看HTML存储空间规范中的Privacy部分。

此处提供更多信息和资源: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扩展程序。您可以在此处阅读有关此内容的更多信息: