PHP設置會話(Session)超時過期時間實現登錄時間限制[轉]

用戶登錄系統60分鐘後如果沒有操作就自動退出

第一種方法即設置php.ini配置文件,設置session.gc_maxlifetime和session.cookie_lifetime節點屬性值,當然也可以使用ini_set函數改變當前上下文環境的屬性值:

ini_set('session.gc_maxlifetime', "3600"); //
ini_set("session.cookie_lifetime","3600"); //

第二種方法即設置Session時間戳,比如下面的辦法。
在登錄成功時設置時間戳爲當前時間推後1小時,$_SESSION['expiretime'] = time() + 3600;。在檢查用戶登錄情況使用如下代碼:

if(isset($_SESSION['expiretime'])) {
    if($_SESSION['expiretime'] < time()) {
        unset($_SESSION['expiretime']);
        header('Location: logout.php?TIMEOUT'); // 登出
        exit(0);
    } else {
        $_SESSION['expiretime'] = time() + 3600; // 刷新時間戳
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章