cakePHP会话不存储密码

时间:2014-07-31 20:44:32

标签: session cakephp authentication passwords

我担心的是,在我使用Auth-> login()方法登录后,有关用户的所有数据都存储在会话中,而不是密码。我不知道这是正常的吗?如何在登录时专门选择我想要存储在会话中的字段。

1 个答案:

答案 0 :(得分:0)

重申我在评论中所说的内容:在会话中存储密码根本不安全,并且没有理由这样做

真的,不要这样做。的 唐'吨

让我们进入幻想世界。如果Auth组件在会话中保存密码,则它有两种可能:将其保存为纯文本,或者将其保存为哈希和盐渍。

情景一:
这与在你的额头写密码,拍照,并在Facebook(或下一个新的社交网络)上发布密码相同。任何看到你的会话(可以完成)的人都会有你的明文密码。如果用户使用相同的密码... yay free amazon shopping !!

情景二:
它更安全"以一种非明文的方式。但最安全的事情是什么?没有给任何人一点关于密码的信息。如果您了解最终产品,则更容易解密。蛮力的意思,如果我知道一个简单的密码" 12345"经过哈希和盐渍化生产" i8g04",对于很多其他用户我也有同样的事情,最终我能够推断出你使用的盐以及如何哈希。 "最终"也许意味着代替2 ^ 58是蛮力的2 ^ 57次尝试。那时间和处理时间要少得多(根据谷歌的说法,1.4411519e + 17)。所以......不,最好不要这样做。为什么你(或蛋糕)使用哈希盐渍密码?

  

如何在登录时明确选择我想要存储在会话中的字段

我不知道如何做到这一点,login中只有一个可选参数,所以没有选项......你可以扩展Auth组件以添加功能你想要...但是如果你想为特定的事情做这件事,也许你最好向我们解释你的理由,我们可以给你如何做的建议。

PD:我再说一遍,不要在会话中存储密码。