校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP實現用戶異地登錄提醒功能的方法【基于thinkPHP框架】

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

熱門標簽:南寧高頻外呼回撥系統哪家好 電話機器人危險嗎 深圳外呼系統收費 專業電話機器人批發商 400電話辦理福州市 長沙crm外呼系統業務 離石地圖標注 江蘇外呼電銷機器人報價 400電話申請方法收費

本文實例講述了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,給出提醒:

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

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

您可能感興趣的文章:
  • easyswoole一鍵安裝腳本及寶塔安裝錯誤問題
  • thinkphp框架類庫擴展操作示例
  • PHP框架實現WebSocket在線聊天通訊系統
  • thinkPHP框架樂觀鎖和悲觀鎖實例分析
  • 淺談laravel框架與thinkPHP框架的區別
  • 自制PHP框架之設計模式
  • 自制PHP框架之模型與數據庫
  • 自制PHP框架之路由與控制器
  • 詳解PHP框架EasySwoole

標簽:株洲 太原 濱州 南昌 興安盟 白酒營銷 曲靖 南京

巨人網絡通訊聲明:本文標題《PHP實現用戶異地登錄提醒功能的方法【基于thinkPHP框架】》,本文關鍵詞  PHP,實現,用戶,異地,登錄,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP實現用戶異地登錄提醒功能的方法【基于thinkPHP框架】》相關的同類信息!
  • 本頁收集關于PHP實現用戶異地登錄提醒功能的方法【基于thinkPHP框架】的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 浦县| 信阳市| 宿州市| 宝鸡市| 德惠市| 稷山县| 西丰县| 铁岭市| 雅江县| 恭城| 伊宁市| 弥渡县| 海门市| 甘南县| 淅川县| 乃东县| 遂平县| 宜兴市| 霍邱县| 铜川市| 开鲁县| 沭阳县| 新昌县| 千阳县| 北票市| 丁青县| 洱源县| 山丹县| 乐清市| 肇庆市| 长白| 江北区| 县级市| 冀州市| 义乌市| 大埔区| 灵璧县| 大理市| 高邮市| 公安县| 营山县|