【问题标题】:Is HTML5 Local Storage data stored seperated by domain [duplicate]HTML5本地存储数据是否按域分隔存储[重复]
【发布时间】:2013-04-08 19:14:52
【问题描述】:

我尝试过查看 HTML5 本地存储,但似乎找不到直接的答案。

本地存储是否像 cookie 一样基于域存储其对象?

如果是,我如何从另一个域访问它?

【问题讨论】:

标签: javascript html local-storage


【解决方案1】:

如果是,我如何从另一个域访问它?

你不能。

LocalStorage 数据是根据网页的域创建的。然后只能从同一域下的网页访问该数据。

这就是为什么这是一个好主意: 您希望像hackerz.pwn 这样的网站能够读取/写入/删除它吗?

Example (page on www.yourbank.com):
window.localStorage.setItem("user_session",  "1234567");

【讨论】:

  • 这就是我的想法,我认为这将是一个巨大的安全漏洞。所以只是好奇,StackOverflow 是如何设法使用 localstorage 处理全局身份验证的,他们声明它存储在 stackauth.com 域下。
【解决方案2】:

来自the spec

当最初由localStorage 属性返回的Storage 对象的任何成员被有效脚本来源与@987654325 的来源不同的脚本访问时,用户代理必须抛出SecurityError 异常访问了 localStorage 属性的 Window 对象的 @。

您无法从存储在localStorage 中的任何域以外的任何域访问存储在localStorage 中的数据。它遵循与XMLHttpRequest 相同的模型——“同源策略”。

【讨论】:

  • 注意:域 !== 原点,原点基于域。
  • @Alnitak - 是的,但是 OP 专门询问来自另一个域的访问。
  • 是的,但是从纯DNS的角度来看,域的不同子域仍然是不同的域,即使它们可能具有相同的来源
猜你喜欢
  • 2016-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多