<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [toc] - 對于安全性要求比較高的web網站,特別是后臺管理,有時候需要甄別自己的賬號是否被盜或者是否有另一個人此刻登陸了在進行后臺操作,這些都會很不安全,為了避免兩個人同時登錄同時操作,可以強制下線一個賬號。 - 通過IP判斷當然是不行的,因為IP是隨時會在某一個網段內變化的,但是有一個機制,恰巧可以解決這個,那就是session,只要使用同一個瀏覽器訪問網站,瀏覽器不關閉每個來訪者的session\_id是不變的,這也正是解決這個問題需要的。 - 以TP框架搭建的網站后臺為例,思路如下: ## :-: **1、數據庫用戶表** 在user表中,增加一個字段`session\_id` varchar(32),用來存放登錄之后的session\_id。 ## :-: **2、用戶登錄** 用戶登錄,就是正常的判斷賬號密碼以及驗證碼,當這些都驗證通過的時候,取出當前的session\_id存入數據庫user表中。 ```php 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,給出提醒: ?您的賬號在其他地方登陸 ?您被迫下線
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看