HTML5网络存储(localStorage)是否比cookie更具安全优势?

前端之家收集整理的这篇文章主要介绍了HTML5网络存储(localStorage)是否比cookie更具安全优势?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找替代cookie的方法,我已经阅读了关于 HTML5网络存储 here内容,我已经阅读了更简单的解释 here,但我仍然无法完全了解它的工作原理.有人可以提供一些稍微非技术性的解释,以便我可以理解技术方面的内容.它说关于浏览器必须存储键值对,但存储的位置和方式以及为什么其他站点无法访问?为什么它不被视为另一种形式的cookie?

>我正在寻找彻底彻底的饼干替代品;如果我的组织想要将其所有网站替换为使用cookie来代替网络存储,那么我们可以轻松地对该要求说“是”吗?我们假设只使用了最新的浏览器.
> Web存储如何以及以何种方式增强安全性
与cookies相比?它是否有可能危及安全性
在其他方面?有没有任何真实生活经历的人
可以分享利弊吗?

解决方法

localStorage和cookies之间的区别

Same Origin Policy保护cookie和localStorage不受不相关域的访问.

区别在于localStorage只能通过JavaScript访问,而cookie可以通过JavaScript1访问,并随每个HTTP请求一起发送.

使用localStorage而不是cookie没有太大的安全优势.两者之间的区别在于目标不同:localStorage可用于您只在JavaScript中使用的内容,而Cookie可用于在服务器上存储您需要的内容(以及).

任何有权访问用户计算机浏览器的人都可以访问这两者,并且可以通过在网页上执行的JavaScript访问localStorage和cookie. (对于后者,请参阅下面的例外情况.)

如果您在browser console中输入localStorage或document.cookie,则可以看到此信息.

>您可以在cookie上设置HTTPOnly标志,以便无法通过JavaScript访问它.

如何使用localStorage

由于已经有很多关于使用localStorage的信息,我只会参考两个记录它的网站:

> DOM Storage at the Mozilla Developer Network
> Local Storage at Dive Into HTML5

如何存储数据

数据的存储方式因浏览器而异.下面,我提供有关Mozilla Firefox如何存储Cookie和本地存储的信息.

注意:Mozilla支持部门于this article提供了有关如何查找Firefox配置文件的说明.

饼干

Firefox将您的cookie存储在名为cookies.sqlite的文件中.这是一个SQLite数据库.使用SQLiteStudio打开文件显示数据库包含一个表moz_cookies.

表结构

该表的结构如下:

内容

以下是我的cookies.sqlite数据库的一部分内容

localStorage的

Firefox将您的localStorage数据存储在名为webappsstore.sqlite的文件中的配置文件文件夹中.这是一个SQLite数据库.使用SQLiteStudio打开文件显示数据库包含一个表webappsstore2.

表结构

该表的结构如下:

内容的结构:

>范围:

><反向域名>:< the protocol>:<端口号>

> KEY:

>存储值的名称.

>价值

>储值

>安全

>未使用此列.

>老板

>未使用此列.

内容

以下是我的webappsstore.sqlite数据库的部分内容

这与我在网页https://login.persona.org的控制台中键入localStorage时获得的数据相同.

结论

如您所见,浏览器以相同的方式存储来自cookie和本地存储的数据.如果您担心存储在用户计算机上的数据的安全性,localStorage不会提供超过cookie的安全优势.

事实上,它甚至可能是一个更大的风险,因为您可以设置cookie在一定时间后过期,而localStorage将不会过期.因此,保存在localStorage中的数据可能会保留在用户的计算机上的时间比使用cookie时的数据长.

(但是,如果您只需要在单个会话期间存储数据,则可以使用sessionStorage而不是localStorage.)

原文链接:https://www.f2er.com/html5/168118.html

猜你在找的HTML5相关文章