我正在編程我的第一個用戶界面,使用PHP進行登錄和帳戶管理,我在這個問題上停滯不前。當一個想法讓我想起我的設計時,我即將創建我的創建新用戶帳戶的方法。用戶對象和安全
這是發生了什麼事。當用戶嘗試登錄時,程序接受字符串(尚未過濾),並使用我創建的用戶類檢查提供的用戶名和密碼是否在數據庫中。如果在數據庫中找到用戶,則使用另一個類中的算法對用戶名進行加密,然後返回其憑證級別,並將這兩個值與用戶對象一起存儲在$ _SESSION變量中。還創建了另一個會話變量,它模仿存儲在對象中的憑證級別的值。如果彼此不相等,那麼會話就會被篡改。
現在在用戶類定義(方法列表)上,有一些方法允許對加密用戶名進行解碼和編碼;這讓我想起了我的問題。考慮到用戶對象是由這個類定義的,它持有這些方法來解碼和編碼用戶名,這是否會被視爲安全風險?這個班級將與用於登錄一般用戶的班級相同,因此我不確定...
偏離主題,但我看到了這一點,並擔心了一下:「檢查提供的用戶名和密碼是否在數據庫中」 - 確保你不*存儲明文密碼。 – 2011-04-19 21:31:04
哦,絕對不是。密碼是MD5散列。 – user716009 2011-04-19 23:01:32