首頁 >後端開發 >PHP問題 >php怎麼禁止重複登入

php怎麼禁止重複登入

藏色散人
藏色散人原創
2021-05-17 09:27:292568瀏覽

php禁止重複登入的方法:1、取得目前開啟瀏覽器session的id;2、判斷資料庫裡的session_id與目前session_id是否相等,如果不相等則需要跳到重新登入。

php怎麼禁止重複登入

本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦

php防止使用者重複登入 

#先來理解session的幾個設定:

ini_set('session.auto_start',0);

設定關閉session的自動啟動

ini_set('session.cookie_lifetime',0);

設定session在瀏覽器關閉時失效,session預設是這樣子的,無需在設定

ini_set('session.gc_maxlifetime',3600);

設定session在瀏覽器未關閉時的持續存活時間

大概知道上面的幾個設置,那麼我們開始理解下今天的內容啦。每當使用者登出帳號時候,他開啟瀏覽器就會自動產生一個session_id(有效時間內是唯一的),然後我們把這個唯一的id存入到user表的去(每登入一次就更新一次當前帳號user表中的session_id的值)。這樣,在登入後的所有介面都需要判斷,目前瀏覽器的session_id()與資料庫的user表的session_id是否一致,如果不一致,則顯示目前帳號已上線,你需要再次登入再可以頂掉他的登入。 (就是每次只能一個使用者登錄,後面登入的使用者會擠掉前面登入該帳號的使用者)

詳細,我們看下程式碼吧:(其他無關本次推文程式碼的程式碼,我就不細說啦)

php怎麼禁止重複登入

第一個框:取得目前開啟瀏覽器session的id,為下面插入、更新資料庫裡唯一的session_id做準備

第二個方塊:判斷,資料庫裡的session_id與目前session_id是否相等,若不相等,則更新目前資料庫裡的session_id,若相等,直接傳回3到前端ajax

php怎麼禁止重複登入

在index.php介面下,這個框,表示判斷當前session_id()與資料庫的session_id是否相等,如果不相等,則表示目前帳號已經有登錄,且session_id不相等,需要跳轉重新登入.

推薦學習:《PHP影片教學

以上是php怎麼禁止重複登入的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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