激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP實現用戶異地登錄提醒功能的方法【基于thinkPHP框架】

PHP實現用戶異地登錄提醒功能的方法【基于thinkPHP框架】

2019-10-17 11:12江南極客 PHP教程

這篇文章主要介紹了PHP實現用戶異地登錄提醒功能的方法,基于thinkPHP框架結合用戶session實現異地登陸的判定功能,非常具有實用價值,需要的朋友可以參考下

本文實例講述了PHP實現用戶異地登錄提醒功能的方法。分享給大家供大家參考,具體如下:

對于安全性要求比較高的web網站,特別是后臺管理,有時候需要甄別自己的賬號是否被盜或者是否有另一個人此刻登陸了在進行后臺操作,這些都會很不安全,為了避免兩個人同時登錄同時操作,可以強制下線一個賬號。

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

以TP框架搭建的網站后臺為例,思路如下:

(1)數據庫用戶表

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

(2)用戶登錄

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

M('user')->where(array('id'=>$_SESSION['uid']))->save(array('session_id'=>session_id()));

(3)解決異地登錄問題

對于后臺操作,為了便于驗證和操作安全,基本都會先創建一個基礎控制器BaseController,然后后臺的其他操作控制器都繼承這個基礎控制器。對于后臺的每一步操作之前,用戶狀態的檢測都放在BaseController控制器的初始化_initialize()方法中。

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

$user = M('user')->where(array('id'=>$_SESSION['uid']))->find();
$session_id = session_id();
if($user['session_id'] != $session_id){
 session_destroy();
 $this->error('您的賬號在其他地方登錄,您已經被強制下線', U('login'));
}

當然也可以獲取到異地登陸的IP,給出提醒:

PHP實現用戶異地登錄提醒功能的方法【基于thinkPHP框架】

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜视频福利 | 久久精品成人影院 | 中文在线国产 | 欧美女同hd | 黄色羞羞视频在线观看 | japanese javhd| 久久精品成人影院 | 国产精品久久久久久久久久久天堂 | 久久久无码精品亚洲日韩按摩 | 九九热精品在线视频 | 国产成人在线观看免费网站 | 91久久国产综合久久91猫猫 | 国产精品区一区二区三区 | 日韩在线欧美在线 | 国产91小视频在线观看 | 毛片在线免费播放 | 粉嫩粉嫩一区二区三区在线播放 | 夜夜看| 国产91亚洲精品久久久 | 欧美日韩高清一区 | 九色p| 亚洲网站在线观看 | 亚洲精品a在线观看 | 亚洲欧美在线看 | 国产午夜探花 | 日本免费aaa观看 | 91成人午夜性a一级毛片 | 一区二区三区视频播放 | 欧美精品一区二区视频 | 国产艳妇av视国产精选av一区 | 国产日韩中文字幕 | 色污视频 | 依人在线视频 | 红桃一区 | 毛片视频免费观看 | 欧美成人午夜精品久久久 | 在线a亚洲视频播放在线观看 | 一级毛片免费版 | 免费观看国产精品视频 | 国人精品视频在线观看 | 天堂精品久久 |