日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 验证码过期时间_简单的行为控制管理方法,自动登录,session定时验证码过期...

發布時間:2025/3/15 数据库 89 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 验证码过期时间_简单的行为控制管理方法,自动登录,session定时验证码过期... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

public functionindex() {if(IS_POST) {//嘗試登陸次數增加

behavior_function(__FUNCTION__, __CLASS__,1);}else{$res = behavior_function(__FUNCTION__, __CLASS__,2);$codes = $res === true ? 1 : NULL;$this->assign("codes", $codes);$this->display();

}

}

//為了微信頁面好看,將中文字符小于4的補充空格

function cn_string_to_4($str) {if(mb_strlen($str,'utf8') <4){return $str = $str.str_repeat('????', (4-mb_strlen($str,'utf8')));

}return $str;

}

通過cookies,做一個簡單的。使用session做過期驗證碼的功能

這有2個版本

/** 設置一個定時有效的session值, tp的session函數貌似沒有這個功能

*

* $time 格式是實踐戳

*

* $type 1 儲存 和 更新session存活時間

* 2 查看獲取

* 3 銷毀*/

function session_limit_time_save($type=1,$name='', $value = '', $expire = '') {$session_time_name = $name . "_time";$session_expire = $name . 'expire';switch ($type) {case 1:

$_SESSION["$name"] = $value;$_SESSION["$session_time_name"] = time();$_SESSION["$session_expire"] = $expire;break;case 2:

if (time() - $_SESSION["$session_time_name"] > $_SESSION["$session_expire"]) {//訪問過期session,就銷毀

unset($_SESSION["$name"]);unset($_SESSION["$session_time_name"]);unset($_SESSION["$session_expire"]);return NULL;

}else{return $_SESSION["$name"];

}break;case 3:

unset($_SESSION["$name"]);unset($_SESSION["$session_time_name"]);unset($_SESSION["$session_expire"]);break;default:

echo '數據處理模式錯誤!';break;

}

}

這個不太好,因為在$_SESSION上可以看到其他的值,其實一般都是借助cookies來實現過期判斷

比如

$time = 30 * 30;//半小時過期

setcookie(session_name(), session_id(), time() + $time);

我還嘗試過使用,直接訪問session的temp文件,去實現過期,但是發現,session存的數據格式是

ss|s:4:"1111";ees|s:4:"1111";e1es|s:2:"55";ee2s|s:2:"22";ee3s|s:6:"155111";

沒有存放過期時間,是通過設置的全局過期時間,做創建時間過期,刪除和更新的

偽代碼:

$session_path = "sess_".session_id();$sessionpath = session_save_path();$file_name_path = $sessionpath.'/'.$session_path;//$a=filemtime($file_name_path);

$a=filectime($file_name_path);//$a=fileatime($file_name_path);

$r = date("Y-m-d H:i:s",$a);var_dump($r);$rr = get_cfg_var('session.gc_maxlifetime');var_dump($rr);

發現效果不是很好,最后決定借用cookies來做定時過期

自動登錄

原理很簡單就是在你需要控制的需要登錄控制的父控制器做一個__construct方法,在登錄的去set一個cookies ,可解密的加密算法,

public function __construct() {

//解密

}

當然在登錄的時候記得讓cookies?過期,不然會出現,退出依然可以登錄問題

訪問需要權限的時候,去獲取cookies,解密獲取賬號和密碼,在去模擬登錄,創建session,和登錄差不多,cookies沒有就什么都不做就,讓權限系統去出路頁面訪問權限

總結

以上是生活随笔為你收集整理的mysql 验证码过期时间_简单的行为控制管理方法,自动登录,session定时验证码过期...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。