将分类信息存储在会话变量中是否安全?

时间:2012-03-08 03:46:53

标签: php html ajax

我只是想知道保存密码等分类信息是否安全。如果没有,那么潜在的安全问题是什么?我目前正在开发一个登录网站。用户登录后我计划将有关用户的所有信息保存到会话变量中,这样每次我想从用户那里访问所需信息时都不必在数据库中查询,这就是为什么我要问这个问题。

5 个答案:

答案 0 :(得分:1)

$_SESSION中包含的数据通常存储在文件系统中..最常见的位置是 / tmp / 文件夹(当你将它保存在缓存中时,有一些解决方案,noSQL或SQL)。

因此,默认情况下,数据与服务器一样安全。如果您的服务器遭到入侵,那么会话数据中的机密信息是您遇到的最少问题。

答案 1 :(得分:1)

在会话中存储密码没有意义 所以,安全或不安全 - 根本不重要(但它显然不安全)。只是不要存储它。

  

所以我不必在数据库中查询它

为什么呢?查询数据库有什么问题?

  

每次我想访问所需信息

好的,但密码?可能需要什么?

答案 2 :(得分:0)

“安全”是一个相对的词,但存储在_SESSION中的信息与存储在数据库中的信息几乎一样安全。只有合法地攻击您服务器的人才能访问它。

尽管如此,会议本身可能并不安全。恶意用户可能能够固定或劫持会话。这并没有直接向_SESSION的内容提供信息,但它仍然允许它们充当另一个用户。你应该采取必要的预防措施..老实说,这不是不使用会议的理由。

一种预防措施是将用户密码存储在_SESSION中。你为什么要这么做?

只要您没有var_dump() _SESSION或大肆显示会话值,_SESSION就像数据库一样安全。尽管如此,您应该将_SESSION中存储的信息限制为您出于各种原因(而不仅仅是安全原因)实际需要的信息。

答案 3 :(得分:0)

我会哈希密码。 sha1()sha256。我认为任何人都无法真正从您的会话中读取数据,但如果他们足够了解,他们可能会冒充已登录并获得提升权限的人。

答案 4 :(得分:0)

不能安全

会话劫持,有时也称为cookie劫持,是利用有效的计算机会话(有时也称为会话密钥)来获得对计算机系统中信息或服务的未授权访问。 —维基百科

这是窃取客户会话ID的一种行为,通过这种方式,他们可以像访问该客户一样访问您的Web应用程序。

这可能吗?他们如何获取用户浏览器中的会话ID?

是的,有可能。原因是这两个Cookie属性(或标志)HttpOnly和Secure。