PHP中應該怎么設置一個嚴格30分鐘過期Session面試題的4種答案, 在這小編給大家講解一下。
“如何設置一個30分鐘過期的Session?”, 大家不要覺得看似簡單, 這里面包含的知識挺多, 特別適合考察基本功是否扎實, 誰來回答試試?
為什么問這個問題呢?
1.我在stackoverflow上看到了有人討論這個問題
2.想起來我經常問這個問題, 所以~~
在這里, 我來解答下這個題目.
第一種回答
那么, 最常見的一種回答是: 設置Session的過期時間, 也就是session.gc_maxlifetime, 這種回答是不正確的, 原因如下:
1. 首先, 這個PHP是用一定的概率來運行session的gc的, 也就是session.gc_probability和session.gc_divisor(介紹參看 PHP使用Session遇到的一個Permission denied Notice解決辦法), 這個默認的值分別是1和100, 也就是有1%的機會, PHP會在一個Session啟動時, 運行Session gc. 不能保證到30分鐘的時候一定會過期.
2. 那設置一個大概率的清理機會呢? 還是不妥, 為什么? 因為PHP使用stat Session文件的修改時間來判斷是否過期, 如果增大這個概率一來會降低性能, 二來, PHP使用”一個”文件來保存和一個會話相關的Session變量, 假設我5分鐘前設置了一個a=1的Session變量, 5分鐘后又設置了一個b=2的Seesion變量, 那么這個Session文件的修改時間為添加b時刻的時間, 那么a就不能在30分鐘的時候, 被清理了. 另外還有下面第三個原因.
3. PHP默認的(Linux為例), 是使用/tmp 作為Session的默認存儲目錄, 并且手冊中也有如下的描述:
Note: 如果不同的腳本具有不同的 session.gc_maxlifetime 數值但是共享了同一個地方存儲會話數據,則具有最小數值的腳本會清理數據。此情況下,與 session.save_path 一起使用本指令。
也就是說, 如果有倆個應用都沒有指定自己獨立的save_path, 一個設置了過期時間為2分鐘(假設為A), 一個設置為30分鐘(假設為B), 那么每次當A的Session gc運行的時候, 就會同時刪除屬于應用B的Session files.
所以, 第一種答案是不”完全嚴格”正確的.
第二種答案
還有一種常見的答案是: 設置Session ID的載體, Cookie的過期時間, 也就是session.cookie_lifetime. 這種回答也是不正確的, 原因如下:
這個過期只是Cookie過期, 換個說法這點就考察Cookie和Session的區別, Session過期是服務器過期, 而Cookie過期是客戶端(瀏覽器)來保證的, 即使你設置了Cookie過期, 這個只能保證標準瀏覽器到期的時候, 不會發送這個Cookie(包含著Session ID), 而如果通過構造請求, 還是可以使用這個Session ID的值.
第三種答案
使用memcache, redis等, okey, 這種答案是一種正確答案. 不過, 很顯然出題者肯定還會接著問你, 如果只是使用PHP呢?
第四種答案
當然, 面試不是為了難道你, 而是為了考察思考的周密性. 在這個過程中我會提示出這些陷阱, 所以一般來說, 符合題意的做法是:
1. 設置Cookie過期時間30分鐘, 并設置Session的lifetime也為30分鐘.
2. 自己為每一個Session值增加Time stamp.
3. 每次訪問之前, 判斷時間戳.
最后, 有同學問, 為什么要設置30分鐘的過期時間: 這個, 首先這是為了面試, 第二, 實際使用場景的話, 比如30分鐘就過期的優惠亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人在线一区二区| 中文字幕精品www乱入免费视频| 国产精品久久av| 日韩电影中文字幕av| 久久久精品久久久| 欧美老女人在线视频| 亚洲综合av影视| 亚洲一区二区三区视频播放| 国产美女久久精品香蕉69| 国模精品视频一区二区三区| 美女国内精品自产拍在线播放| 亚洲福利视频网站| 欧美电影在线观看网站| 色琪琪综合男人的天堂aⅴ视频| 欧美在线视频一区二区| 国产精品久久久久9999| xx视频.9999.com| 成人免费大片黄在线播放| 97热在线精品视频在线观看| 欧美日韩国产一区二区三区| 久久久久久久久久久久av| 欧美国产精品va在线观看| 亚洲成人在线视频播放| 精品久久久久久久久久久久久| 91色琪琪电影亚洲精品久久| 国产精品偷伦视频免费观看国产| 亚洲欧美日韩在线高清直播| 97精品一区二区三区| 久久久av免费| 久久人人爽人人爽爽久久| 51精品国产黑色丝袜高跟鞋| 97超级碰碰人国产在线观看| 午夜精品三级视频福利| 中文欧美日本在线资源| 国产成人综合精品在线| 亚洲自拍偷拍网址| 欧美自拍大量在线观看| 久久国产精品久久久久久| 欧美成人精品在线观看| 国产精品久久久久久婷婷天堂| 欧美日本在线视频中文字字幕| 精品国产自在精品国产浪潮| 欧洲成人午夜免费大片| 久久精品99久久久久久久久| 亚洲人高潮女人毛茸茸| 日韩精品中文字幕在线播放| 国产精品亚洲一区二区三区| 亚洲一区av在线播放| 国产91色在线播放| 4438全国亚洲精品在线观看视频| 精品国产31久久久久久| 中文字幕在线日韩| 欧美视频在线视频| 九九热精品在线| 孩xxxx性bbbb欧美| 欧美专区在线观看| 国产99久久精品一区二区永久免费| 国产精品久久97| 欧美在线性爱视频| 亚洲精品国产综合区久久久久久久| 国产一区二区三区毛片| 成人在线观看视频网站| 国产日韩欧美在线播放| 亚洲天堂免费在线| 欧美国产日韩视频| 爽爽爽爽爽爽爽成人免费观看| 欧美最猛黑人xxxx黑人猛叫黄| 欧美成aaa人片免费看| 日韩不卡中文字幕| 欧美巨乳美女视频| 国产成人亚洲综合91精品| 欧美成人亚洲成人| 91精品国产综合久久香蕉最新版| 国产91ⅴ在线精品免费观看| 欧美成人精品影院| 亚洲国产成人精品女人久久久| 日本精品性网站在线观看| 日韩有码在线视频| 久久久成人av| 久久久亚洲精品视频| 92看片淫黄大片欧美看国产片| 欧美在线视频免费观看| 欧美亚洲国产视频小说| 日韩av综合网站| 国产精品久久久久免费a∨| 92福利视频午夜1000合集在线观看| 国产精品成人观看视频国产奇米| 精品人伦一区二区三区蜜桃免费| 久久福利网址导航| 色综合久久88色综合天天看泰| 成人h猎奇视频网站| 日韩av在线电影网| 国产香蕉精品视频一区二区三区| 久久夜色精品亚洲噜噜国产mv| 精品久久久久久久久久久久| 国产精品久久97| 亚洲新声在线观看| 日韩免费在线看| 国产视频久久久久| 日本一区二区在线免费播放| 最近2019中文字幕mv免费看| 亚洲人成在线播放| 日本亚洲欧洲色α| 亚洲综合中文字幕在线| 欧美日韩电影在线观看| 亚洲伦理中文字幕| 精品久久久久久久久久久久久久| 亚洲欧美制服另类日韩| 欧美人交a欧美精品| 青青精品视频播放| 欧美国产精品va在线观看| 538国产精品视频一区二区| 在线观看久久av| 欧美精品九九久久| 成人黄在线观看| 国产成人精品午夜| 欧美成人精品一区| 97国产精品视频| 欧美一级视频在线观看| 欧美老肥婆性猛交视频| 777午夜精品福利在线观看| 色综合视频网站| 久久天天躁狠狠躁夜夜av| 国内精品久久久久久久久| 97国产精品免费视频| 日韩欧美亚洲一二三区| 不卡在线观看电视剧完整版| 亚洲一区www| 欧美日韩成人在线播放| 中文字幕精品影院| 成人午夜激情网| 国产情人节一区| 最近2019年日本中文免费字幕| 中文字幕日韩电影| 91久久精品久久国产性色也91| 亚洲男人天堂九九视频| 中文字幕视频一区二区在线有码| 精品久久久久久久中文字幕| 欧美乱人伦中文字幕在线| 欧美高清不卡在线| 国产精品自产拍在线观看| 亚洲最大的网站| 91精品国产高清久久久久久91| 日韩欧美中文字幕在线观看| 亚洲精品福利免费在线观看| 中文字幕亚洲天堂| 欧美最猛黑人xxxx黑人猛叫黄| 成人性生交大片免费观看嘿嘿视频| 国产一区二区三区在线观看网站| 日韩欧美国产免费播放| 日韩欧美中文在线| 中文字幕精品在线视频| 国产精品永久免费观看| 高清在线视频日韩欧美| 国产在线不卡精品| 欧美视频免费在线| 亚洲美女激情视频| 尤物tv国产一区| 久久成人精品视频| 日韩电影中文 亚洲精品乱码| 国产91在线播放精品91| 51精品国产黑色丝袜高跟鞋| 午夜精品久久久久久久99热| 精品夜色国产国偷在线|