<button id="g80sy"></button>
  • <abbr id="g80sy"></abbr>
  • <button id="g80sy"></button>
    <rt id="g80sy"><delect id="g80sy"></delect></rt>
  • thinkphp6如何在本地IP不變的情況下自動登錄后臺

    程序猿 2021-03-12 22:40:52 2092瀏覽 加載中

    原理

    第一次登錄的時候設(shè)置cookie,再次登錄的時候先獲取cookie進行校驗,為了安全起見還要做一些簡單的加密。cookie在本地保存,容易泄漏,為了安全可以和本地IP做下綁定,這樣就算泄漏在其它電腦上也是登錄不了的,當(dāng)然在同一個局域網(wǎng)內(nèi)還是可以訪問的,同網(wǎng)中也沒有人黑你吧。

    代碼

    // 登錄成功后設(shè)置 cookie 
    $ip = get_real_ip();    // 獲取客戶真實的IP,下面有介紹
    $token = md5($pass . $ip); // $pass 為用戶的密碼,和真實的IP做一個簡單的MD5加密
    cookie("username",$username,604800); // 7天
    cookie("token",$token,3600*24*7); //7天

    第二次登錄代碼

    $username = cookie("username");
    $token = cookie("token");
    $ip = get_real_ip();  
    $user = UserModel::where("username",$username)->find();
    if ($user) {
        $pass = $user->pass;
        $t = md5(pass . $ip);
        if ($t == $token) {
            session("username",$username) // 記錄session登錄狀態(tài)
            $this->redirect("/admin",301); // 跳轉(zhuǎn)到后臺頁面
        }
    }
    // 其它邏輯自行腦補。

    說明

    get_real_ip()是自定義獲取真實IP的方法,點擊可以查看相應(yīng)代碼。

    標(biāo)簽: thinkphp6 自動登錄
    最后修改:2025-03-23 19:22:58

    非特殊說明,本博所有文章均為博主原創(chuàng)。

    主站蜘蛛池模板: 镇康县| 宜昌市| 罗源县| 罗甸县| 兴仁县| 安义县| 台中市| 永昌县| 四会市| 寿光市| 大竹县| 大足县| 南通市| 肥乡县| 罗平县| 青铜峡市| 衡阳市| 越西县| 淄博市| 江口县| 巩留县| 建平县| 滕州市| 上饶市| 嫩江县| 科技| 富川| 临朐县| 射洪县| 沛县| 年辖:市辖区| 河曲县| 克拉玛依市| 元谋县| 安庆市| 康定县| 治多县| 兴文县| 石柱| 镇安县| 林州市|