2013-12-12 41 views
0

所以我想保持用戶登錄,即使他們關閉瀏覽器。我能想象得到的唯一方法就是使用cookies?我對嗎?如果是的話,它安全嗎?當爲此目的使用cookie時,我應該注意什麼?關於如何保持用戶登錄即使瀏覽器關閉的建議

+1

這只是一個記住我很短的壽命選項。檢查http://stackoverflow.com/questions/1354999/keep-me-logged-in-the-best-approach一個很好的方式來實現它。 –

回答

1

您需要設置session.cookie_lifetime整數非零。

session.cookie_lifetime以秒爲單位指定發送給瀏覽器的cookie的生命週期。值0意味着「在瀏覽器關閉之前」。默認爲0。

see here

+0

是不是類似於像這樣'setcookie(「TestCookie」,$ value,time()+ 31536000)設置生命週期。 //例如。 1年? –

+0

@Deadpool是的,你是對的 –

1

餅乾,在我的觀點,是唯一的出路。每當用戶登錄時,檢查是否在客戶機中找到cookie。如果是這樣,請匹配您爲數據庫創建Cookie時爲其生成的字符串。如果它們匹配,則登錄該用戶。如果沒有cookie,請讓用戶登錄,創建一個隨機字符串,並將其存儲在數據庫和cookie中。

+0

即時思考的東西非常相似。 –

+0

請與我分享。這些情況真的很有趣,編入系統:) –

+2

這是要走的路。但是,您應該存儲更多關於用戶的信息,例如UserAgent,IP(x-forward和remote_addr)以及其他變量似乎是必需的且不應更改的信息。否則,你會讓自己非常容易受到會話劫持的攻擊(這在PHP中已經很簡單)。你可以簡單地得到1個用戶的cookie內容並假冒它。通過匹配更多的變量,你可以嘗試最小化這個機會。 –

相關問題