php實現七天免登入的方法:1.在前端建立一個使用者選擇七天免登入的按鈕;2、在後端中,根據使用者提交的使用者名稱和密碼查詢到使用者的id;3、將用戶id存入cooike中;4、設定七天的過期時間即可。
本教學操作環境: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中文網其他相關文章!