在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP/ 如何設(shè)計一個帳戶只能一個終端登陸?

如何設(shè)計一個帳戶只能一個終端登陸?

如題:
我自己的邏輯:
1.在用戶表中新增一個字段 is_online(是否已登陸 0 未登陸 1登陸)
2.登陸時判斷此字段是否為1 ,退出時,更新此字段為0

如果用戶非正常退出的情況 (關(guān)閉瀏覽器等) 這個情況就會沒辦法更新is_online字段

目前想到一個方法:但是沒有完全理解

就是將session_id存入數(shù)據(jù)庫 登陸時判斷數(shù)據(jù)庫中的session_id 在服務(wù)器中是否存在?

這個具體如何操作 請教一下

回答
編輯回答
孤星
2018年6月13日 01:38
編輯回答
哚蕾咪
2017年7月18日 02:39
編輯回答
孤巷

我們網(wǎng)站是用的memcache共享session做到的

2018年2月13日 11:17
編輯回答
朕略傻

每次登錄都生成一個用戶user_id與相對的token,保存到數(shù)據(jù)庫里。每次接口請求之前判斷這個token是否有效,重新登錄后token發(fā)生變化,之前登錄的token驗證就失效了,從而實現(xiàn)一個帳戶只能一個終端登陸。

2017年11月1日 09:37
編輯回答
拮據(jù)

每次登陸后生成一個有時效token,保存在服務(wù)器端和客戶端,每次鑒權(quán)時只驗證這個token
這樣新的登錄事件發(fā)生后,由于token改變,以前的有效登錄就自動失效了

2018年9月15日 08:31
編輯回答
茍活

登陸時,將session_id存入數(shù)據(jù)庫 鑒權(quán)時判斷 數(shù)據(jù)庫中的session_id在服務(wù)器中是否還存在

通過session_save_path()獲取session_id在服務(wù)器中的目錄路徑

//判斷數(shù)據(jù)庫中用戶是否登陸
if($admin['is_online']) {
    //如果用戶非正常退出時, 判斷session_id是否存在 如果存在 提示已經(jīng)登陸 ( session默認(rèn)30分鐘失效)
    if(file_exists(session_save_path().'\\'.$admin['session_id'])) {
        ajaxmsg('此賬號已在其它地方登陸,請先退出后再登陸',0);
    }
}
2017年12月2日 08:10