在Lithium会话中存储密码是否安全?

时间:2013-01-13 13:32:22

标签: php session lithium

我想使用Lithium的“cookie”会话适配器。用户登录后,我将使用他的哈希密码创建一个cookie。如果此cookie存在且散列密码与db中的密码匹配,我将自动登录。

这样安全吗?


好吧,我不是在讨论在cookie中使用实际哈希,而是在加密哈希。我不希望任何人知道该哈希看起来如何:) Lithium具有“策略”,可以加密您在会话中存储的具有“秘密”的任何数据,因此哈希将被加密。基本上我在问锂的加密是否足够好。有人和Lithium合作过吗?

5 个答案:

答案 0 :(得分:3)

这取决于您的散列算法。使用salt可以更安全地使用哈希:
Safe Password Hashing

  

请记住,密码的哈希值实际上与它们相同   密码。窃取哈希的人可以获得相同的访问权限   用户的帐户就好像他们偷了他们的密码一样。因此它   不建议在cookie中存储用户密码的哈希值   除非有一些其他信息未与cookie一起存储   用于验证(即2因素验证)。此Gabe 中的 Answer

还可以查看这些链接:
Is it advisable to store a hashed password in a cookie?
Secure hash and salt for PHP passwords

答案 1 :(得分:1)

仅当它是散列密码与其用户标识或用户名的组合时。密码本身可能存在多次,因此不是唯一的。用户名或ID(通常)是唯一的。

答案 2 :(得分:1)

没有。这绝对不安全。如果您将密码存储在cookie中,则该散列密码将与用户密码基本相同。如果其他人以某种方式获得该cookie,他可以在自己的浏览器中设置该cookie,并作为其他人进行身份验证。

答案 3 :(得分:1)

Lithium的Encrypt策略使用bcrypt,实际上,它几乎是最好的东西(好吧,除了可能是scrypt,但让我知道PHP何时附带它和我&#39 ;改变我的观点。)

在任何情况下,加密的强度并不重要,因为正如其他人所说,如果您正在传输密码的哈希,那么您也可以自己传输密码。我无法想出你想要这样做的原因。

答案 4 :(得分:1)

无论您如何存储密码(加密与否),如果有人获取密码,很可能有人以其他人的身份访问您的网站。