成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Session過(guò)期策略研究

Zachary / 1273人閱讀

摘要:走出誤區(qū),我們來(lái)討論一下真正的過(guò)期策略吧。前面說(shuō)了,數(shù)據(jù)是否過(guò)期只與服務(wù)器有關(guān),此處在修改的過(guò)期策略配置三條紅線分別影響著的過(guò)期策略刪除幾率的分子刪除幾率的分母分鐘刪除一次一次終上所述默認(rèn)的過(guò)期機(jī)制為分鐘刪除一次,每個(gè)會(huì)話(huà)被刪除的幾率為。

首先說(shuō)一點(diǎn)新手認(rèn)識(shí)中常見(jiàn)的誤區(qū):關(guān)閉瀏覽器session就過(guò)期了。這種說(shuō)話(huà)是完全錯(cuò)誤的,

session是否過(guò)期與客戶(hù)端如何操作沒(méi)什么必然關(guān)系,他只與服務(wù)器如何設(shè)置有關(guān)。

以下觀點(diǎn)以以PHP語(yǔ)言舉例,使用的是chrome瀏覽器[48.0.2564.116 (正式版本) m (32 位)](△注意這點(diǎn),因?yàn)镕irefox瀏覽器關(guān)閉后PHPSESSID會(huì)強(qiáng)行緩存,測(cè)試會(huì)導(dǎo)致不準(zhǔn))
2016年10月21日新增:
edge關(guān)閉后PHPSESSID悔刷新
但chrome與firfox都不會(huì)了。
猜測(cè)后兩個(gè)瀏覽器不會(huì)是為了用戶(hù)體驗(yàn)考慮。

每個(gè)用戶(hù)訪問(wèn)網(wǎng)站,服務(wù)器會(huì)自動(dòng)賦予用戶(hù)一個(gè)session_id值,此時(shí)服務(wù)器與客戶(hù)端(此處為瀏覽器)同時(shí)擁有著一份相同值的session_id值。

往后的所有包含SESSION數(shù)據(jù)增加,修改,刪除,過(guò)期一切都是以session_id值,為基礎(chǔ),session_id值,就是像一把鑰匙,溝通客戶(hù)端與服務(wù)器端之間關(guān)于SESSION的一切操作。

那”關(guān)閉瀏覽器session就過(guò)期了”這種網(wǎng)上普遍流傳的觀點(diǎn)是如何出現(xiàn)的呢?

首先說(shuō)明的是,如果服務(wù)器代碼不進(jìn)行特殊操作,展示出來(lái)的效果確實(shí)是”關(guān)閉瀏覽器session就過(guò)期了”,譬如有些網(wǎng)站關(guān)閉瀏覽器再打開(kāi)就要重新登錄,但是這不代表session過(guò)期了,session_id值依舊存在于服務(wù)端,session_id所指向的值是依舊存在的,以下代碼可以很好的證明這一點(diǎn),我關(guān)閉了瀏覽器甚至切換了瀏覽器,b.php永遠(yuǎn)都會(huì)打印出那個(gè)數(shù)據(jù)。

a.php:


b.php:

只要在session_start()前給session_id賦上一個(gè)初始值,那么當(dāng)前會(huì)話(huà)就會(huì)以那個(gè)session_id值作為鑰匙,去像服務(wù)器要數(shù)據(jù)。

所以在此處,b.php的session_id永遠(yuǎn)是”5op1k5moghb1hprgkifgh7nv71“,那么只要服務(wù)器的session_id值不過(guò)期,這段數(shù)據(jù)永遠(yuǎn)可以獲得得到。

一次session_start就是一次新的會(huì)話(huà),如果沒(méi)有經(jīng)過(guò)特意賦值,那么將會(huì)產(chǎn)生一個(gè)新的session_id,新的session_id和原來(lái)的”5op1k5moghb1hprgkifgh7nv71“對(duì)不上,客戶(hù)端自然獲取不到對(duì)應(yīng)的session數(shù)據(jù)啦,那么就會(huì)出現(xiàn)”關(guān)閉瀏覽器session就消失這個(gè)誤區(qū)”。

走出誤區(qū),我們來(lái)討論一下session真正的過(guò)期策略吧。前面說(shuō)了,session數(shù)據(jù)是否過(guò)期只與服務(wù)器有關(guān),此處在php.ini修改session的過(guò)期策略配置:

三條紅線分別影響著session的過(guò)期策略

Session.gc_probability = 1 //session刪除幾率的分子

Session.gc_divisor=1000 //session刪除幾率的分母

Session.gc_maxlifetime=1440 //24分鐘刪除一次一次

終上所述:默認(rèn)的session過(guò)期機(jī)制為 24分鐘刪除一次,每個(gè)session_id會(huì)話(huà)被刪除的幾率為1/1000。

我們可以手動(dòng)將三行配置都改成1,進(jìn)行測(cè)試,那么我們會(huì)發(fā)現(xiàn)即使不關(guān)閉瀏覽器session值也是會(huì)過(guò)期的。(session值默認(rèn)要刷新一遍才過(guò)期,所以即便都設(shè)置成1也要手動(dòng)刷新一遍,這和session本身的機(jī)制有關(guān))

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21487.html

相關(guān)文章

  • 簽發(fā)的用戶(hù)認(rèn)證token超時(shí)刷新策略

    摘要:簽發(fā)的用戶(hù)認(rèn)證超時(shí)刷新策略這個(gè)模塊分離至項(xiàng)目權(quán)限管理系統(tǒng)與前后端分離實(shí)踐,感覺(jué)那樣太長(zhǎng)了找不到重點(diǎn),分離出來(lái)要好點(diǎn)。這樣在有效期過(guò)后的時(shí)間段內(nèi)可以申請(qǐng)刷新。 簽發(fā)的用戶(hù)認(rèn)證token超時(shí)刷新策略 這個(gè)模塊分離至項(xiàng)目api權(quán)限管理系統(tǒng)與前后端分離實(shí)踐,感覺(jué)那樣太長(zhǎng)了找不到重點(diǎn),分離出來(lái)要好點(diǎn)。 對(duì)于登錄的用戶(hù)簽發(fā)其對(duì)應(yīng)的jwt,我們?cè)趈wt設(shè)置他的固定有效期時(shí)間,在有效期內(nèi)用戶(hù)攜帶jw...

    e10101 評(píng)論0 收藏0
  • java | Spring Boot 與 Redis 實(shí)現(xiàn) Cache 以及 Session 共享

    摘要:完成狀態(tài)編寫(xiě)中已完成維護(hù)中原文是一個(gè)使用編寫(xiě)的開(kāi)源支持網(wǎng)絡(luò)基于內(nèi)存可選持久性的鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)維基百科是目前業(yè)界使用廣泛的基于內(nèi)存的數(shù)據(jù)庫(kù)。 完成狀態(tài) [ ] 編寫(xiě)中 [ ] 已完成 [x] 維護(hù)中 原文 Redis Redis是一個(gè)使用ANSI C編寫(xiě)的開(kāi)源、支持網(wǎng)絡(luò)、基于內(nèi)存、可選持久性的鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù) ------ 維基百科 Redis 是目前業(yè)界使用廣泛的基于內(nèi)存的...

    ssshooter 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<