如果我有一个随机的,16个字符长的字母数字盐(不同的情况),每个用户生成和存储,我是否还需要一个站点范围的盐?
换句话说,这样好吗?
sha1($user_salt . $password)
Run Code Online (Sandbox Code Playgroud)
我应该这样做吗?
sha1($user_salt . $password . $site_salt)
Run Code Online (Sandbox Code Playgroud)
也,
目前,我有一个加密的cookie,用于查找数据库中的会话.在此会话中,有一个user_id和一个user_token.然后我使用user_id查询数据库 - 如果DB === user_token中的user_id + hash的sha1,则允许用户通过.
我在每个页面加载时对user_id进行第二次查询,这样如果我删除,禁止或更改用户的密码,该操作立即生效.
这就是我在这里通过网站和问题查看的内容.你怎么看?我错过了什么?
我需要添加角色检查,但这可能会添加另一个查询(第3个仅用于auth).有小费吗?