2010-09-21 51 views
3

我不知道下面的代碼的安全程度:設置登錄SESSION數據 - 安全性?

if ($username == $user->username && $password == $user->password) { 
    $_SESSION['loggedIn'] = true; 
    $_SESSION['userId'] = $user->userId; 
} 

基本上,會有什麼辦法有人假冒會話變量(除了實際盜竊用戶的cookie)?

回答

1

對我來說似乎很好。只是不要將密碼或敏感數據存儲在會話中,以防有人竊取會話ID。我相信大部分安全風險都是在安全地獲取服務器密碼時發生的。

此外,你應該至少存儲你的密碼散列。使它(假設$ user->密碼使用sha1哈希)sha1($password) == $user->password

+0

感謝您的輸入。我的密碼以醃製的md5格式存儲。 – 2010-09-21 02:57:58

+1

「萬一有人偷了會話ID」---那又如何?你偷了我的session_id。你將如何獲得密碼? – zerkms 2011-01-14 07:16:43