1. 程式人生 > >Thinkphp檢測登入或操作超時(針對設定session有效期失效)

Thinkphp檢測登入或操作超時(針對設定session有效期失效)

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">步驟如下:</span>

1.登入函式中存登入時間:

session('logintime',time());

2.在APP/Index/Common/common.php新增公共類:
class CheckAction extends Action {
        public function __construct() {
            parent::__construct();
            $this->checkAdminSession();
        }
        public function checkAdminSession() {
           // echo "happy";
            //設定超時為10分
            $nowtime = time();
            $s_time = session('logintime');
            if (($nowtime - $s_time) > 1800) {
                session('logintime',null);
                $this->error('當前使用者未登入或登入超時,請重新登入', U('Admin/Index/index'));
            } else {
                session('logintime',$nowtime);
            }
        }
}

3.APP的每個需要檢測的Action都繼承上面的類:

例:

lass AnnouceAction extends CheckAction
{
   
    public function lists(){
		$username = session('agentName');
		//判斷是否有輸入密碼;
		if(empty($username)){
		//如果為空跳回登入頁;
			$this->redirect('QiXunAgent/Index/index');
		}
		$age=M('agentuser')->where(array('account'=>$username))->find();
		$m=M('announceforman');			 		
	 //載入分頁類
		import('ORG.Util.Page');
	//計算記錄總數
		$condition['managerID'] = 0;
		$condition['agentID'] = $age['id'];
		$count = $m->where($condition)->count();
	//例項化分頁類
		$page = new Page($count,8);
	//設定主題
		$page->setConfig('header','');
		$page->setConfig('theme',"%totalRow% %header% 當前第 %nowPage% 頁  共 %totalPage% 頁 %upPage% %downPage% %first% %prePage% <span style='letter-spacing:5px'>%linkPage%</span> %nextPage% %end%");

	//設定超連結
		$this->show = $page->show();
			
		$data = $m->where($condition)->order('datetime desc')->limit($page->firstRow.",".$page->listRows)->select();	
		$this->assign('data',$data);
		$this->display();
	}
}


相關推薦

Thinkphp檢測登入操作超時(針對設定session有效期失效)

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">

php通過設定session有效期 避免使用者誤操作 原生php方法

$id = $_POST['id']; if (isset(id) && id) && id) && id!==”) { // unset(

java設定session銷燬 失效的方法

Session物件是HttpSessionState的一個例項。該類為當前使用者會話提供資訊,還提供對可用於儲存資訊會話範圍的快取的訪問,以及控制如何管理會話的方法。下面介紹設定session失效的幾種方法。 在系統登入後,都會設定一個當前session失效的時間,以確保在使用者長時間不與伺服器

WEB專案設定session有效期

         在開發WEB專案的時候,對JSP頁面進行編輯時間過長的時候,就會出現如下現象:請重新登入、頁面以超時等等噁心提示 !出現這些提示終究的原因是session超時所致。為此要解決此種問題,就要對session的有效期進行設定。         不對WEB

單點登入CAS的超時時間的設定

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

設定session時長,超時間需重新登入

第一種 jsp中 <%  session.setMaxInactiveInterval(1800);  %> 1800的單位是毫秒 第二種 web.xml中 <session-config>   <session-timeout>30

Php中設定Session超時時間登入時間限制

最近某個PHP專案用到了限制登入時間的功能,比如使用者登入系統60分鐘(www.phpfensi.com)後如果沒有操作就自動退出,我搜索了網路收集了有以下方法可供參考. 第一種方法即設定php.ini配置檔案,設定session.gc_maxlifetime和sess

用異操作實現的交換函數用以實現數組逆置中須要註意的問題

span include style 試題 blog text fontsize lib mod 用元素交換函數實現數組逆置非常easy,如以下代碼:(數組左右元素交換) #include<iostream> #include<stdlib.h>

ThinkPHP 判斷一個更新操作是否成功

更新失敗 data code log 記錄 mod strong 影響 一個 需要用 !== false 來判斷更新是否成功,因為save方法返回值是更新操作影響的記錄數,有可能影響的記錄數為0,但卻更新成功的。 $Model = D(‘Blog‘); $data[‘id

C++ 中的異操作^

you 整型 lin 不存在 要求 -s cal tar rda 好好的利用異或能夠產生奇妙的效果。 異或運算的性質: 不論什麽一個數字異或它自己都等於0。也就是說。假設我們從頭到尾依次異或數組中的每個數字,那麽終於的結果剛好是那個僅僅出現一次的數字。由於那些出現兩次的

關於異操作和它的算法題

出現一次 實現 enum blank href sin 結果 com for 首先一篇文章推薦:感受異或的神奇,其中介紹了什麽是異或,異或的定律:恒等律,歸零律,交換律,結合律,以及一些常見用法和一個算法系列。非常好! 這個算法系列指的是:已知一個數組中除了1(2,3)個數

視頻學習筆錄---ThinkPHP---thinkphp拓展之空操作

ext 定義 emp 針對 場景 優化 訪問 404頁 pty 【一】概論 (1)定義 空操作指系統在找不到指定操作方法的時候。會定位到空操作方法 / 控制器來執行,利用這個機制,我們可以實現錯誤頁面的自定義和URL的優化 (2)場景 常用於錯誤頁面的自定義 (3)一般的系

為什麽三次異操作可以交換兩個數

找到 原來 們的 異或操作 去掉 進制 ont 交換兩個數 一位 a和b是兩個整數,經過以下三次異或操作,可以達到交換目的:a = a ^ b;b = a ^ b;a = a ^ b; 首先要理解,什麽是^(異或)操作:  二進制兩數運算結果:  0 ^ 0 = 0  

怎樣一鍵檢測域名url是否正常解析並傳輸

img 看到了 err 地方 eal usr 圖片 交互式 成交 好久沒有寫博客了,現在重新拾起來,我想還不算晚。工作中,經常會有人抱怨:網站好卡,dns是不是有問題...... 有沒有一鍵的方式了解到是dns解析的問題還是網絡傳輸導致的嗎?有。可以寫一些腳本檢查。shel

轉載:Oracle “TNS-12535: TNS: 操作超時”故障的解決辦法

Oracle “TNS-12535: TNS: 操作超時”故障的解決辦法 [日期:2014-07-19] 來源:Linux社群  作者:shangxiao [字型:大 中 小]          系統環境:OEL6.

學習筆記(二):使用K近鄰演算法檢測Web異常操作

使用全量比較,而不是最頻繁和最不頻繁的比較。 1.資料蒐集        我們使用詞集的模型,將全部命令去重後形成一個大型向量空間,每個命令代表一個特徵,首先通過遍歷全部命令,生成對應詞集。 with open(filename) as f: fo

學習筆記(一):使用K近鄰演算法檢測web異常操作

黑客入侵Web伺服器後,通常會通過系統漏洞進一步提權,獲得ROOT許可權。我們可以通過蒐集LINUX伺服器的bash操作日誌,通過訓練識別出特定使用者的操作習慣,然後進一步識別出異常操作的行為。 1.資料蒐集        訓練集包括50個使用者的操作

串列埠程式設計-讀寫超時 COMMTIMEOUTS設定

讀寫超時是在   呼叫  ReadFile 和  WriteFile   函式讀寫串列埠的時候系統提供的超時機制 typedef struct _COMMTIMEOUTS {    &nbs

mysql連線超時wait_timeout設定

通過下面命令可以檢視mysql的超時時間 show global variables like 'wait_timeout'; 其預設值為8小時,超過這個時間,mysql會自動斷開該連線。 有兩種方法可以修改該值 1、命令修改 set global wait_timeout=2880

java - session有關 - 設定session超時 - 怎麼使用session

目錄   1、設定session超時失效 1.1、springboot 專案設定 1.2、web.xml 1.3、java程式碼設定 1.4、tomcat 伺服器設定 1.5、其他 2、什麼是session 3、怎麼使用session 增: 刪: