2013-05-02 306 views
0

我有一個慈善小型內部網站,它是員工登錄後才能訪問文件和羅塔島。雖然它只適用於某些用戶,但它在網上,因此它是公開的,因此我仍在考慮安全性。我需要你的意見,因爲我不是很有經驗。PHP用戶系統安全

我一直保存兩個cookie時,第一個用戶登錄的用戶ID和第二一個cookie ID,這樣的人不能隨便更改用戶ID和cookie中的ID需要匹配記錄。它與每個頁面的數據庫進行比較。問題是,Cookie ID只是一個隨機數,它不會花費時間讓PC在幾十萬個組合範圍內循環查找每個用戶的匹配ID。那我該如何阻止呢? PHP的uniqid是否足夠好?

我應該考慮哪些其他的攻擊從SQL注入(已阻止)

感謝

+1

這看起來像它可能是interrest在你的情況下:http://blog.teamtreehouse.com/how-to-create-totally-secure-cookies – 2013-05-02 11:28:46

回答

0

存儲在服務器上的每個會話的客戶端IP分開。
如果會話更改客戶端IP,那麼這就是可疑的。

另一件事是給會話一生。
一樣,若無其事的時間任意金額無效的會話。

最後但並非最不重要的,只做存儲在會話數據庫隨機ID和地圖,爲用戶,而不是直接存儲用戶ID到一個cookie的。

+0

基於最後評論如果一個有效的ID被猜到會發生什麼那麼有人可以訪問用戶的帳戶。 – AnotherUser 2013-05-02 12:23:43

+0

@AnotherUser不,您仍然將ID與客戶端IP相匹配。如果嘗試中斷來自與正確登錄的客戶端相同的IP,它只能被盜取。 – 2013-05-03 14:27:51