PHP教學 - 定時一段時間登出系統做法
自動登出方式 一、html做法 <META HTTP-EQUIV="REFRESH" CONTENT="600;URL=logout.php"> 二、javascript做法 <script> var oTimerId; function Timeout(){ alert("\n您好\n您可能已離開!\n很抱歉!!請重新登入系統\n謝謝!!"); location.href= ('logout.php'); } function ReCalculate(){ clearTimeout(oTimerId); oTimerId = setTimeout('Timeout()', 1 * 60 * 1000); //js 是用毫秒計算 } document.onmousedown = ReCalculate; document.onmousemove = ReCalculate; ReCalculate(); </script> 三、php做法 正常的php.ini,session 的預設存活時間為 24 分鐘(1440秒) session.gc_maxlifetime = 1440 但如果時間到了,session 卻還存在,沒有被刪除是怎麼回事呢 ? 原來垃圾收集者(GC),並不是一定時間到就會工作,而是是透過機率來工作。 在 php.ini – GC的預設值如下: session.gc_probability = 1 session.gc_divisor = 100 這代表著,有100分之一的機率會清除session 我們只要將其更改為下方,,並重啟 httpd 服務: session.gc_maxlifetime = 216000 session.gc_probability = 1 session.gc_divisor = 1 就代表 存活24hrs並100%清除session 如果要設定SESSION的連線時間(例如設定24小時),並讓SESSION在設定時間過期後自動被刪除,需在php.ini中設定下列參數: session.cookie_