首頁  >  文章  >  後端開發  >  用PHP怎麼實作只允許管理員登錄,而且目前的管理員帳號如果已登入就不允許其他人登入

用PHP怎麼實作只允許管理員登錄,而且目前的管理員帳號如果已登入就不允許其他人登入

WBOY
WBOY原創
2016-10-22 00:14:121091瀏覽

用PHP怎麼實作只允許管理員登錄,而且目前的管理員帳號如果已登入就不允許其他人登入! !求教

回覆內容:

用PHP怎麼實作只允許管理員登錄,而且目前的管理員帳號如果已登入就不允許其他人登入! !求教

登入成功,立即在資料表插入一條記錄,有登入時間,回話資訊失效時間等訊息,第二個人登入的時候查庫驗證

兩個int欄位第一個記錄登陸的時間戳第二個記錄登出的時間戳登陸的時候還要判斷時間如果當前時間大於登出時間戳說明現在沒有人登陸如果之前登陸的人沒有退出那麼判斷會話裡面的key過期瞭沒如果過期了之前的用戶如果再要操作肯定要重新登陸了此時另一個人也可以登陸的不知道我是否表述清楚

你用一個online欄位來記錄目前使用者狀態

只允許管理員管理,這個很簡單,你只設定一個帳號訊息,或是直接在程式碼裡寫死就可以了。

前的管理員帳號如果已登入就不允許其他人登入

這個應該是想說:同一個帳號同一時間只能在一個地方登入吧?

看了樓上兩位給的方案:一是設定有效期,但這個不能解決在另一處「同時」登入的問題。

二是記錄登出時間,關鍵問題是如何記錄?

如果要保證實時的話,需要用到socket
如果不那麼嚴格的話,可以用定時訪問。

redis 儲存 userId:sessionKey 的鍵值對,每次請求檢查目前使用者 ID 對應的 sessionId 是否和目前會話一致

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn