日日摸夜夜添夜夜添aa,亚洲一区二区在线视频,国产精品入口在线看麻豆,久久久久久久99精品免费观看

thinkphp6如何在本地IP不變的情況下自動登錄后臺

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

原理

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

代碼

// 登錄成功后設置 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登錄狀態
        $this->redirect("/admin",301); // 跳轉到后臺頁面
    }
}
// 其它邏輯自行腦補。

說明

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

最后修改:2025-04-25 19:23:59

非特殊說明,本博所有文章均為博主原創。