首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全性-会话(默认使用- Cookie )与本地存储

问安全性-会话(默认使用- Cookie )与本地存储
EN

Stack Overflow用户
提问于 2012-05-31 22:03:43
回答 4查看 3.8K关注 0票数 1

我不关心浏览器的兼容性。

我想知道,如果我将状态从PHP控制的(服务器端)会话转移到JavaScript控制的(客户端)HTML5本地存储,我将获得或失去安全性。

我认为我将获得安全性,因为现在用户标识符驻留在cookie中,而不是驻留在cookie中,cookie通常是一个文件,或者很容易使用accessible...it的sql数据库,而不是在某种内部浏览器存储中。+ b.c.这是一项较新的技术,我希望它能提供更多的安全性。

从PHP会话迁移到JavaScript本地存储,我是获得了安全性,还是失去了安全性。(这适用于用户id、page_id等内容,即重新加载后的当前状态,如果需要,还可以保持更长的时间)。

我有一个JavaScript解决方案,我想用来替换我的PHP。这就是我问的原因。我不关心浏览器的兼容性。

这是一个本地存储上的informative site。但是没有提到安全性。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-24 01:59:55

两种类型的本地存储(localStorage和Cookie)都使用某种标识符,该标识符显然存储在客户端上。

两者都使用散列机制来保护它,使其不会被其他用户更改。

本地存储比cookies更安全(请参阅here )。

显然,如果您想要将用户标识符从cookies移动到localStorage,则必须编写会话协议。

两者都可以被窃取来伪装成另一个用户。尽管使用localStorage的可能性较小。

为了让你更健壮,你需要一种指纹识别技术来帮助解决上述问题。

票数 2
EN

Stack Overflow用户

发布于 2012-05-31 22:19:07

我有一个JavaScript解决方案,我想用来替换我的

会话。

不是的。不要这样做。会话存储在服务器端。发送到浏览器的cookie通常是该记录的标识符。会话存储特定于用户的数据。几乎任何存储在客户端的东西都可以很容易地被用户修改。因此,如果用户将会话修改为指向另一个用户,安全性将不再有效。

用于存储会话的LocalStorage是,而不是。坚持使用PHP会话,或者在服务器端实现的任何其他会话机制。

更新

但也存在同样的安全漏洞...用户可以使用会话的session_id作为一个person...fiddle登录,并使用session_id...equates成为某个else...fiddling,以摆弄您在服务器上显示的身份?...this将等同于摆弄local_storage中的加密user_id。

不是的。假设我算出了你加密的算法。我知道另一个用户说UserB。我用这个算法加密了他的用户名。如果我以某种方式用加密字符串覆盖我的localStorage,我现在就是他了。实际上,这是不太可能的。假设有100个用户,128个字节的字符串是标识符。您确定您可以摆弄它,并将其修改为会话表中存在的另一个记录吗?

票数 1
EN

Stack Overflow用户

发布于 2012-05-31 22:47:44

与常规浏览器缓存相比,本地存储最适合于您希望以(更持久的)方式缓存到客户端的数据。它“更安全”的唯一方法是,如果你想允许用户处理从未发送到服务器的数据。

如果你担心会话劫持,首选的解决方案是使用https/ssl并加密你和客户端之间的所有流量。在wikipedia上有一个问题和解决方案的general overview (不过,我们需要更多的信息来给你更具体的信息)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10835197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档