我想知道,如何在閒置後(例如:10分鐘)刪除所有特定的cookie。在特定的閒置時間後過期某些cookie
IM在確保PHP項目和步驟一個工作是這個
我應該刪除在PHP/MySQL的項目一定量的閒置時間後保存在MySQL管理的cookie和session
有任何建議!?
我想知道,如何在閒置後(例如:10分鐘)刪除所有特定的cookie。在特定的閒置時間後過期某些cookie
IM在確保PHP項目和步驟一個工作是這個
我應該刪除在PHP/MySQL的項目一定量的閒置時間後保存在MySQL管理的cookie和session
有任何建議!?
在cookie和db中保存一個隨機字符串,在db中也保存到期時間.. 當客戶端執行請求時從cookie中獲取字符串並檢查有關的到期時間在db ... if time傳遞摧毀的cookie,否則不...
<?php
//retrive cookies if exist the hash stored in it.
//cookie don't exist save the cookie
if(!$_COOKIE){
//create a random string in $rnd_string and the expire date in $data
setcookie("hash", $rnd_string);
//sql connection here
//adding rows to db..
mysql_query("INSERT INTO table (expiredate, hash) VALUES ('".$data."','".$rnd_string."')");
}
else{
//here the code if cookie exist
$hash=$_COOKIE['hash'];
//sql connection here
//retrieving row from db
$result=mysql_fetch_array(mysql_query("SELECT expiredate FROM table WHERE hash='".$hash."'"));
//in $result['expiredate'] you'll have the expire date, check this with server time and decide if is session is valid or not...
}
那麼,你應該永遠不會存儲任何Cookie中的重要,所以你應該真的只有存儲在cookie中的會話ID。
只需將該cookie設置爲10分鐘即可過期。將相同的時間戳存儲在數據庫中。
之後,也就是說,5分鐘,你需要做什麼,然後設置Cookie在10分鐘過期和更新會話
後,比方說,11多分鐘後,該cookie不會提供,並且您可以將用戶轉發到您的「未通過身份驗證的頁面」。
在cron作業或每個頁面加載中,刪除過去有過期時間的任何會話。
難道你不能只設置每個頁面上的cookie到10 * 60?
會不會介意給我代碼示例? – 2010-03-06 07:14:03
更新了一個簡單的愚蠢代碼的答案..但它是一個例子,我希望它可以對你有用... – Marcx 2010-03-06 11:17:02