如何實現乙個賬號僅能乙個終端登入呢

2021-08-08 02:57:02 字數 614 閱讀 6230

使用者id:使用者登入session_id

使用者每次登入都將session_id存入到(memcache/redis),每次操作都驗證一下當前使用者是否對應session_id。否則就踢下線。

拓展:可以將$_server資訊儲存起來,使用者每次登入都提示一下,可以知道自己賬號是否安全!

在賬戶表的基礎上,我新建了乙個賬戶account_session表,用來記錄登入賬戶的account_id和最新一次登入成功使用者的session_id,然後首先要修改登入方法:每次登入成功後,要將登入使用者資訊寫入session的同時還要更新account_session表裡相應賬戶的session_id(當然,如果是第一次登入時,進行的便是插入動作),然後要修改獲取當前使用者資訊的方法,在裡面要做兩重判斷,首先,看當前會話是否存在登入使用者資訊,如果沒有,則肯定是未登入,不再贅述,如果有,還要再進一步要用當前會員裡存的account_id去account_session表查詢最新的session_id,與當前會員中的session_id作比較,如果是一致的,說明當前會話是最新的會話,登入狀態正常,如果不一致,說明在當前登入會話建立後,被新的登入會話覆蓋掉了,當前的登入會話已經失效,這時候,伺服器應該刪除當前的登入會話並返回提示給客戶端,至此,限制賬戶同一時間單終端登入功能便實現了。

如何實現乙個窗體

如何實現乙個窗體 jframe 1.建乙個類窗體例如 swingui extands jframe 2.在main函式中初始化例項swingui frame new swingui frame.settitle frame.addwindowlistener listener frame.pack ...

如何實現乙個async await

async的執行原理 其實就是自動執行generator函式 暫時不考慮genertor的編譯步驟 更複雜 const getdata newpromise resolve settimeout resolve data 1000 這樣的乙個async函式 應該再1秒後列印data async fu...

打造乙個終端Oh My Zsh

之前學姐給我推薦讓我使用oh my zsh,所以記錄一下安裝過程 zsh是一款強大的虛擬終端,既是乙個系統的虛擬終端,也可以作為乙個指令碼語言的互動解析器 它是基於zsh命令列的乙個擴充套件工具集,提供了豐富的擴充套件功能。plugins git 將這個改為 plugins gitzsh synta...