2011-12-19 127 views
0

我正在構建的站點的管理控制面板需要登錄腳本。活動用戶存儲在一個mysql表中,但是一旦用戶通過身份驗證,我是否應該將該令牌存儲爲會話或cookie?哪個(如果有的話)更安全?用戶登錄會話與Cookie

+2

請閱讀此:http://stackoverflow.com/questions/1221447/what-do-i-need-to-store-in-the-php-session-when-user-logged-in/1225668# 1225668 – 2011-12-19 23:07:33

回答

2

會議,絕對。它們存儲在服務器上。 Cookies存儲在客戶端,用戶可以輕鬆編輯。

+1

,它們可以被捕獲並用於控制來自「中間人」的用戶數據...所以我同意.. – DonCallisto 2011-12-19 23:08:05

+2

PHP中的默認會話處理程序仍然容易受到中間人攻擊(因爲會話實際上只是一個cookie)。規避它的最好方法是切換到HTTPS。 – Halcyon 2011-12-19 23:11:44

1

環節無非是服務器端的cookie在這個意義上,數據存儲在服務器上的多。客戶端仍然得到一個cookie,對於PHP而言(PHPSESSID或類似的東西),這只是一個識別會話的數字。

使用會話的一些優點是,您不必隨每個請求都傳遞數據,並且客戶端不能「混淆」它。另外,在PHP中,您可以實現自己的會話存儲機制,因此您不受限於任何會話大小限制,但這可能遠遠超出您的範圍:P(session_set_save_handler,請參閱PHP.net以獲取更多信息) 。