PHP實現使用者異地登入提醒

2021-08-15 23:31:00 字數 896 閱讀 2485

通過ip判斷當然是不行的,因為ip是隨時會在某乙個網段內變化的,但是有乙個機制,恰巧可以解決這個,那就是session,只要使用同乙個瀏覽器訪問**,瀏覽器不關閉每個來訪者的session_id是不變的,這也正是解決這個問題需要的。

(1)資料庫使用者表

在user表中,增加乙個字段`session_id` varchar(32),用來存放登入之後的session_id。

(2)使用者登入

使用者登入,就是正常的判斷賬號密碼以及驗證碼,當這些都驗證通過的時候,取出當前的session_id存入資料庫user表中

(3)解決異地登入問題

對於後台操作,為了便於驗證和操作安全,基本都會先建立乙個基礎控制器basecontroller,然後後台的其他操作控制器都繼承這個基礎控制器。對於後台的每一步操作之前,使用者狀態的檢測都放在basecontroller控制器的初始化_initialize()方法中。

現在在_initialize()方法中,除了驗證使用者登入狀態是否被鎖定等等,還要取出本地session_id和存放在user表中的session_id進行比對,如果對不上那麼表名賬號在異地有登陸,這時候可以迫使強制下線,退回到登入頁面。

[php]view plain

copy

$user

= m(

'user'

)->where(

array

('id'

=>

$_session

['uid'

]))->find();  

$session_id

= session_id();  if(

$user

['session_id'

] != 

$session_id

)  

PHP實現使用者登入頁面

php學習日常,放在上面記錄一下咯 我用了bootstrap框架,這樣的介面要好看一點 登入頁面 必須使用者名稱 密碼 驗證碼都輸入正確才能登入成功喔,否則出現下面提示 登陸成功之後,登入和註冊選項切換為使用者暱稱和登出選項 登陸成功之後 選擇登出 登入 註冊登出 js connect.php 連線...

PHP實現使用者登入介面

首先要實現使用者登入介面需要乙個html登入表單 post使用者名稱和密碼 username post username password post password 連線mysql con mysqli connect localhost root 驗證mysql連線是否成功if mysqli e...

PHP實現使用者登入頁面

php學習日常,放在上面記錄一下咯 我用了bootstrap框架,這樣的介面要好看一點 登入頁面 必須使用者名稱 密碼 驗證碼都輸入正確才能登入成功喔,否則出現下面提示 登陸成功之後,登入和註冊選項切換為使用者暱稱和登出選項 登陸成功之後 選擇登出 html 登入 註冊登出 模態框 close 請登...