1
我有一個擁有表單身份驗證的網站:取消激活數據庫中未使用的會話ID?
1)用戶登錄並選擇是否讓他登錄。
2)服務器生成令牌,將其保存到數據庫並向瀏覽器發送令牌cookie。
注意,當用戶選擇不保留登錄,當他關閉瀏覽器,令牌cookie將到期,如果用戶選擇保持登錄狀態,他在登錄後,令牌cookie將到期的一年。
3)當用戶註銷時,服務器將停用保存在數據庫中的令牌並刪除瀏覽器中的令牌cookie。
問題是,如果用戶選擇不保持登錄狀態,如果他關閉瀏覽器,令牌cookie將過期,但保存在數據庫中的令牌不會被停用 - 服務器將不知道用戶是否關閉了他瀏覽器。
我該如何取消未使用的令牌在我的數據庫?
我生成會話ID(令牌),將其保存到數據庫並將其作爲cookie發送到瀏覽器。當用戶訪問我的網站時,我檢查了他的會話cookie並在我的數據庫中找到匹配項。我與谷歌或Facebook的有什麼不同? – dpp
你還需要在你的數據庫中寫入一些到期時間戳,用於令牌,並在登錄時進行測試。您不需要從數據庫中刪除令牌,只需保留最後一個(每個用戶一個)。當然,你不需要爲匿名會話創建令牌....否則你的數據庫將爆炸:) –