我需要在我的网站的私有区域中进行一些加密,并且我想要bcrypt用户的密码。
用户登录时将密码存储在会话中是否安全,以便我以后可以使用?
我需要在我的网站的私有区域中进行一些加密,并且我想要bcrypt用户的密码。
用户登录时将密码存储在会话中是否安全,以便我以后可以使用?
不要将密码存储在会话变量中。相反,请使用代理键。
例如:
当用户登录时,您执行以下操作:
如果攻击者获得对存储在您/tmp目录中的会话数据的读取权限,他们可能会提取代理密钥。但是,他们将无法获取用户的密码。虽然这不能保护您在服务器上加密的数据,但它确实可以防止未经授权访问用户的帐户,并阻止攻击者利用用户在其他地方使用相同密码的情况。
如果你想安全地使用 PHP,你应该安装Suoshin Hardened PHP 补丁。(任何值得处理的托管公司都已经在他们的服务器上安装了它)。此补丁包含自动加密会话数据的功能,足以保护您免受某些类型的攻击。
但是会话黑客只是黑客工具箱中的一项,而密码是主要目标,因此它们不应被视为您的程序应该在任何时间(即使在内存中)挂起的东西;输入后应尽快对密码进行哈希处理,并立即清除密码字符串本身。
因此,我对您的问题的回答是否定的,您不应该考虑保留密码以供以后重复使用。