2011-11-28 48 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。我所要求的是,我應該將所有數據從查詢中提取到一個對象中(每個頁面請求=我已經看過其他腳本執行該操作,或者如果我應該只抓取一個操作,請查看上面的示例 –