2011-11-28 72 views
0

我有一个包含“用户ID”存储在每个负载的用户信息的对象或抢时动作以在信息

会话我存储在用户表(我需要一些信息抢) 问题是如果我应该抓住所有的数据,并把它放在每个请求的对象上,或者只是在做出行动时进行查询?

实施例#1

//Update Password 

//a user object contain all data from users table... 

if ($user->password == $new_password) { 
    $errors[] = 'You can\'t choose the same password!'; 
} 

实施例#2

//Update Password 

//$current_password = query password and fetch 

if ($current_password == $new_password) { 
//... 
} 

等等...

回答

0

对于简单的项目,最好是把该数据在 “用户对象”,在会议中。但是,只能将数据放置在不受快速变化影响的对象中,如用户名,用户标识,特权级别等。

更重要的是,不要在会话中保留用户的密码哈希值,特别是不要将用户的密码以明文形式存储在数据库或会话数据中。从外观上看,我相信你可能会这样做。

而是使用hash function来确保密码数据的可逆性。

+1

+1不建议'md5'。 – 2011-11-28 18:07:43

+0

不是。会话只包含用户ID。我所要求的是,我应该将所有数据从查询中提取到一个对象中(每个页面请求=我已经看过其他脚本执行该操作,或者如果我应该只抓取一个操作,请查看上面的示例 –