久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

php 如何設(shè)置一個嚴(yán)格控制過期時間的session

本篇文章主要介紹了php設(shè)置一個嚴(yán)格控制過期時間的session的方法,具有很好的參考價值。下面跟著小編一起來看下吧

1.php session 有效期

PHP的session有效期默認(rèn)是1440秒(24分鐘),如果客戶端超過24分鐘沒有刷新,當(dāng)前session會被回收,失效。

當(dāng)用戶關(guān)閉瀏覽器,會話結(jié)束,session也會失效。

可以修改php.inisession.gc_maxlifetime來設(shè)置session的生命周期,但并不能保證在超過這一時間后session信息立即會刪除。因為GC是按機(jī)率啟動的,可能在某一個長時間內(nèi)都沒有被啟動。那么大量的session在超過session.gc_maxlifetime后仍然有效。

2.session.gc_maxlifetime,session.gc_probability,session.gc_divisor說明

session.gc_maxlifetime = 30 表示當(dāng)session文件在30秒后沒有被訪問,則視為過期session,等待GC回收。

GC進(jìn)程調(diào)用的概率是通過session.gc_probability/session.gc_divisor計算得來的,而session.gc_divisor默認(rèn)是1000,

如果session.gc_probability = 1000,那么GC進(jìn)程在每次執(zhí)行session_start()時都會調(diào)用,執(zhí)行回收。

把session.gc_probability/session.gc_divisor的機(jī)率提高,會有幫助,但會對性能造成嚴(yán)重影響。

3.嚴(yán)格控制session過期方法

1.使用memcache/Redis來保存session,設(shè)置過期時間,因為memcache/redis的回收機(jī)制不是按機(jī)率的,可以確保session過期后失效。

2.只使用php實現(xiàn),創(chuàng)建一個session類,在session寫入時,把過期時間也寫入。讀取時,根據(jù)過期時間判斷是否已過期。

<?php
/**
 * Session控制類
 */
class Session{
  /**
   * 設(shè)置session
   * @param String $name  session name
   * @param Mixed $data  session data
   * @param Int  $expire 超時時間(秒)
   */
  public static function set($name, $data, $expire=600){
    $session_data = array();
    $session_data['data'] = $data;
    $session_data['expire'] = time()+$expire;
    $_SESSION[$name] = $session_data;
  }
  /**
   * 讀取session
   * @param String $name session name
   * @return Mixed
   */
  public static function get($name){
    if(isset($_SESSION[$name])){
      if($_SESSION[$name]['expire']>time()){
        return $_SESSION[$name]['data'];
      }else{
        self::clear($name);
      }
    }
    return false;
  }
  /**
   * 清除session
   * @param String $name session name
   */
  private static function clear($name){
    unset($_SESSION[$name]);
  }
}
?>

demo:

<?php
session_start();
$data = '123456';
session::set('test', $data, 10);
echo session::get('test'); // 未過期,輸出
sleep(10);
echo session::get('test'); // 已過期
?>

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持!

【網(wǎng)站聲明】本站除付費源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結(jié)合實例形式分析了php實現(xiàn)針對有序表插值查找的相關(guān)操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現(xiàn)服務(wù)端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現(xiàn)APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現(xiàn)的多維數(shù)組排序算法,結(jié)合實例形式對比分析了php針對多維數(shù)組及帶有鍵名的多維數(shù)組進(jìn)行排序相關(guān)操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細(xì)介紹了php結(jié)合ajaxuploadfile實現(xiàn)無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細(xì)介紹了PHP開發(fā)接口使用RSA進(jìn)行加密解密方法,對此有興趣的朋友可以學(xué)習(xí)下。
主站蜘蛛池模板: 三级av在线| 国产日韩精品一区 | 亚洲视频中文字幕 | 99在线观看视频 | 国产一区二区三区免费视频 | 国产成人免费 | 在线观看中文字幕 | 成人三区四区 | 国产欧美精品一区二区 | 亚洲精品一区二区 | 在线一区 | 午夜影院普通用户体验区 | 最近免费日本视频在线 | 久久久高清 | 可以免费观看的av | 久久久久久久电影 | 亚洲一区二区三区四区五区中文 | 日韩在线xx| 在线播放中文字幕 | 日韩欧美手机在线 | 久久久成人一区二区免费影院 | 国产免费一区二区三区网站免费 | 国久久| 久久久久一区二区三区 | 欧美视频免费在线观看 | 黑人巨大精品欧美一区二区免费 | 国产精品久久久久久久久久免费看 | 91一区二区三区在线观看 | 成人欧美一区二区三区视频xxx | 91视视频在线观看入口直接观看 | 久久国产精品一区 | 亚洲精品久久久久久久久久久久久 | 欧美精三区欧美精三区 | 国产精品视频免费看 | 久久久久久久国产 | 中文在线a在线 | 欧美高清一区 | 亚洲 欧美 精品 | 亚洲人成在线观看 | 亚洲国产精品久久久久婷婷老年 | 欧美日韩中文在线 |