首頁  >  文章  >  後端開發  >  php 怎麼實現七天免登入

php 怎麼實現七天免登入

藏色散人
藏色散人原創
2022-10-25 11:13:281619瀏覽

php實現七天免登入的方法:1.在前端建立一個使用者選擇七天免登入的按鈕;2、在後端中,根據使用者提交的使用者名稱和密碼查詢到使用者的id;3、將用戶id存入cooike中;4、設定七天的過期時間即可。

php 怎麼實現七天免登入

本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。

php 怎麼實現七天免登入?

php中實現7天免登入功能,防止cookie欺騙

1、免登入想法

        使用者選擇七天免登入按鈕,後端根據用戶提交的用戶名和密碼查詢到用戶的id將用戶id存入cooike中並設定七天的過期時間。在不清除cookie資訊(非正常登出的時候),後台幫助使用者登入。實際就是利用cooki來實現。

2、驗證登入檔:checkLogin.php

 prepare($sql);
$stm ->bindParam(1,$username);
$stm ->bindParam(2,$password);
$stm ->execute();
$res = $stm->fetch(PDO::FETCH_ASSOC);
if($stm->rowCount() == 1){
    //验证成功
    clearCookie();
    if($islogin==1){
        //记住密码
        setcookie("username",$res['username'],strtotime('+7 days'));
        $token = settoken($res['username'],$res['password'],$res['id']);
        setcookie("token",$token,strtotime('+7 days'));
    }else{
        // 无记住密码
        setcookie("username",$res['username']);
        $token = settoken($res['username'],$res['password'],$res['id']);
        setcookie("token",$token);
    }
    exit("
        
    ");
}else{
    //验证失败
    exit("
        
    ");
}
//清除cookie
function clearCookie(){
    setcookie("username",'',time()-1800);
    setcookie("token",'',time()-1800);
}
//设置token
function settoken($username,$password,$id)
{
    $salk = "czx";
    $token = md5($salk.$username.$password)."*".$id;
    return $token;
}

3、資料庫設定檔:config.php

getMessage();
} catch(Throwable $e){
    //捕捉拥有Throwable接口的错误或者其他异常
    echo $e->getMessage();
}

#4、登入頁面檔案: login.php


                alert('用户已登录,请直接访问!');
                location.href ='index.php';
            
        ");
    }
?>



    
    
    登录



登录

用户名:
密 码:
记住密码

5、首頁檔案:index.php

prepare($sql);
    $stm ->bindParam(1,$uid);
    $stm ->execute();
    $result =$stm->fetch(PDO::FETCH_ASSOC);
    if($stm->rowCount()==1){
        $salk = "czx";
        $token_res = md5($salk.$result['username'].$result['password']);
        if($token_res != $token_arr[0]){
            exit("
                            
            ");
        }
    }else{
        exit("
            
        ");
    }
?>


  
    
    
    首页
  
  
  
    

陶转转首页

推薦學習:《 PHP影片教學

以上是php 怎麼實現七天免登入的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn