HTML5本地存储数据是不是按域分隔存储[重复]
Posted
技术标签:
【中文标题】HTML5本地存储数据是不是按域分隔存储[重复]【英文标题】:Is HTML5 Local Storage data stored seperated by domain [duplicate]HTML5本地存储数据是否按域分隔存储[重复] 【发布时间】:2013-04-08 19:14:52 【问题描述】:我尝试过查看 html5 本地存储,但似乎找不到直接的答案。
本地存储是否像 cookie 一样基于域存储其对象?
如果是,我如何从另一个域访问它?
【问题讨论】:
***.com/questions/4201239/… 【参考方案1】:如果是,我如何从另一个域访问它?
你不能。
LocalStorage 数据是根据网页的域创建的。然后只能从同一域下的网页访问该数据。
这就是为什么这是一个好主意: 您希望像hackerz.pwn 这样的网站能够读取/写入/删除它吗?
Example (page on www.yourbank.com):
window.localStorage.setItem("user_session", "1234567");
【讨论】:
这就是我的想法,我认为这将是一个巨大的安全漏洞。所以只是好奇,*** 是如何设法使用 localstorage 处理全局身份验证的,他们声明它存储在 stackauth.com 域下。【参考方案2】:来自the spec:
当最初由
localStorage
属性返回的Storage
对象的任何成员被有效脚本来源与@987654325 的来源不同的脚本访问时,用户代理必须抛出SecurityError
异常访问了localStorage
属性的Window
对象的 @。
您无法从存储在localStorage
中的任何域以外的任何域访问存储在localStorage
中的数据。它遵循与XMLHttpRequest
相同的模型——“同源策略”。
【讨论】:
注意:域 !== 原点,原点基于域。 @Alnitak - 是的,但是 OP 专门询问来自另一个域的访问。 是的,但是从纯DNS的角度来看,域的不同子域仍然是不同的域,即使它们可能具有相同的来源以上是关于HTML5本地存储数据是不是按域分隔存储[重复]的主要内容,如果未能解决你的问题,请参考以下文章