首頁  >  文章  >  後端開發  >  如何用php實現一個帳號不能多個使用者同時登陸?

如何用php實現一個帳號不能多個使用者同時登陸?

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

修改 要求:當某個帳號登陸後,其它使用者再登入該帳號!當前帳號就會被強制下線,就類似qq異常登入那樣子!大神們給個具體實現思路? ?

回覆內容:

修改 要求:當某個帳號登陸後,其它使用者再登入該帳號!當前帳號就會被強制下線,就類似qq異常登入那樣子!大神們給個具體實現思路? ?

產生個token存在資料庫,寫入session。操作的時候 把session的token和資料庫對比,不一樣則logout.

"其它使用者再登入該帳號!目前帳號就會被強制下線"

這裡是你要及時的,還是刷新(再次發送http請求)之後。
前者需要一個類似socket的長連接,或是用心跳包。
接下來或是後者的操作,@xfspace也說的比較清楚了。

每次登入產生一個隨機token用於驗證cookie.
不同的登入產生的token也不同,自然之前產生的cookie都會失效.
不過需要注意的是,如果用戶把cookie直接複製並註入到區域網路裡的另一台電腦的瀏覽器裡使用,伺服器那邊不好辨別.

哪有那麼麻煩啊。
1.新建一個 token表。
字段:token(令牌,一般8個隨機字串就可以了),uid(本站用戶ID),expiresIn(過期時間)

用戶登入成功的時候插入一條記錄,並把以前該用戶的所有token資料過期或者刪除,這樣就可以保證同一時間只有一個有效的token起作用,起到了不能重複登錄的作用。

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