簡體   English   中英

PHP在數據庫中為每個用戶管理多個會話

[英]Php Manage multiple session per user in database

我正在制作一個登錄系統。 我在數據庫中創建了active_session表,如下所示:

| id | user_id |session_key|others...|
| 12 |  6548   |kdjgs939493|.........|

我創建了壽命有限的Cookie(例如1小時或一天)。 當我手動注銷時,它會破壞Cookie並從數據庫中刪除會話記錄。 問題是,如果有人登錄但未注銷,則cookie將在時間到期后過期,但是我該如何從數據庫中刪除此類會話。 因為如果不刪除這些記錄,那么數據庫中會有很多無用的會話記錄

您必須在會話開始或何時結束時存儲時間戳。 然后,您可以運行計划的任務並刪除不再需要的所有條目。

解決方案1:您可以在執行登錄的同一腳本中添加命令以刪除舊條目。 這樣,您可以確保每次登錄后都不會有舊記錄。

解決方案2:您可以制作一個定期執行的腳本,以檢查數據庫中較舊的記錄並刪除它們。 這樣,您可以為此腳本使用特定的mysql用戶,並有權刪除記錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM