Php 将机密信息存储在会话变量中是否安全?
我只是想知道保存诸如密码之类的机密信息是否安全。如果没有,潜在的安全问题是什么?我正在开发一个登录的网站。用户登录后,我计划将用户的所有信息保存到会话变量中,这样我就不必每次都在数据库中查询用户所需的信息,这就是我问这个问题的原因。安全是一个相对的词,但是Php 将机密信息存储在会话变量中是否安全?,php,html,ajax,Php,Html,Ajax,我只是想知道保存诸如密码之类的机密信息是否安全。如果没有,潜在的安全问题是什么?我正在开发一个登录的网站。用户登录后,我计划将用户的所有信息保存到会话变量中,这样我就不必每次都在数据库中查询用户所需的信息,这就是我问这个问题的原因。安全是一个相对的词,但是\u会话中存储的信息与数据库中存储的信息一样安全。。只有合法入侵你的服务器的人才能访问它 也就是说,会话本身可能并不安全。恶意用户可能会修复或劫持会话。这不会直接向他们提供会话内容的信息,但仍然允许他们充当另一个用户。你应该采取必要的预防措施。
\u会话中存储的信息与数据库中存储的信息一样安全。。只有合法入侵你的服务器的人才能访问它
也就是说,会话本身可能并不安全。恶意用户可能会修复或劫持会话。这不会直接向他们提供会话内容的信息,但仍然允许他们充当另一个用户。你应该采取必要的预防措施。。老实说,这不是不使用会话的理由
一个预防措施是不要将用户密码存储在会话中。你为什么要这么做
只要您不var\u dump()
\u SESSION
或随意显示会话值,那么\u SESSION
就和数据库一样安全。不过,出于各种原因(不仅仅是安全原因),您应该将存储在会话中的信息限制为您实际需要的信息。会话中包含的数据通常存储在文件系统中。。最常见的位置是/tmp/文件夹(当您将其保存在缓存、noSQL或SQL中时,有一些解决方案)
因此,默认情况下,那里的数据与服务器一样安全。如果您的服务器受损,那么会话数据中的机密信息是您最不需要担心的问题。在会话中存储密码没有任何意义。
所以,安全或不安全-这根本不重要(但它显然不安全)。只是不要储存它
所以我不必在数据库中查询它
为什么??查询数据库有什么问题
每次我想访问所需信息时
好的,但是密码呢?需要它做什么?不安全
会话劫持,有时也称为cookie劫持,是指利用>有效的计算机会话(有时也称为会话密钥),对计算机系统中的信息或服务进行未经授权的访问维基百科
这是窃取客户会话ID的行为,通过会话ID,他们可以像访问客户一样访问您的web应用程序
这可能吗?他们如何获得用户浏览器中的会话ID?
是的,这是可能的。两个cookie属性(或标志)HttpOnly和Secure就是原因
你至少应该对密码加盐或进行某种保护,而不是仅仅存储明文,尤其是在敏感的情况下。是的,但这是一种明智的方法吗?您必须确保会话、内存和数据库保持同步。投票关闭不是真正的问题。会话通常未加密(普通)存储在磁盘上。如果您担心安全性,并且正在使用会话,请使用suhosin扩展查看透明会话加密和cookie加密。我有一个表单,可以在登录时加载有关用户的信息。登录时,我将数据库中的所有信息存储在会话变量(包括密码)中。然后我使用session变量在表单中回显它以显示信息。我知道你在夸夸其谈。我只是解释了我打算做什么。无论如何,干杯。谢谢你的回答!:)我不是在夸夸其谈。我不明白你在说什么。在表单中显示密码毫无意义。没有人在做那件事。在表单中显示用户信息有什么意义?你正在做一些奇怪的事情,你最好把你奇怪的设置改成正常的。