2011-08-08 68 views
2

我試圖在codeigniter中推出自己的認證系統,並且偶然遇到了一些障礙。codeigniter中的安全認證

如果我的會話設置爲使用數據庫,則userdata是單獨存儲在數據庫還是存儲在cookie中?我想將哈希密碼存儲在其中以驗證用戶實際登錄的每個頁面加載是否正確,並且我不希望哈希能夠被客戶端訪問。

如何防止會話被盜?我已經啓用了IP和主機名驗證,是自動的還是我必須自己執行檢查?這足以阻止人們竊取會話數據嗎?

回答

3

Userdata可以存儲在Session中。如果您將會話設置爲使用數據庫,則唯一的cookie將是ci_session cookie或您指定的任何cookie,並且cookie + ip/hostname將與數據庫會話表匹配。

在會話中存儲哈希密碼將是完全安全的,它將在您自己的數據庫中。沒問題。被盜應該使用iphostname比賽

防止會話(無論是每一個頁面加載還是有點較少,有些人有動態IP),不知道自動驗證,但如果你自己檢查它總是很高興。

防止會話數據被盜是非常相似的。除非有人攔截你的cookie,並且神奇地報告一個虛假的IP(或者,與目標共享一個IP /主機名),這就足夠了。你也可以做另一個檢查,匹配user_agent。你必須手動完成。

這幾乎是一切。

+0

這將是很好的給一個代碼示例,我正在尋找,但無法找到一個工作在config.php –