综合干狼人综合首页,日本а中文在线天堂,中国av一区,日韩va亚洲va欧洲va国产

03
2018/08

PHP 項(xiàng)目實(shí)戰(zhàn)開(kāi)發(fā)中,Session的原理及最佳實(shí)踐

發(fā)布時(shí)間:2018-08-03 18:21:04
發(fā)布者:pengyifeng
瀏覽量:
0

Session 的原理

session是在服務(wù)器端存儲(chǔ)數(shù)據(jù)的一種方法,對(duì)應(yīng)的cookie是在客戶端保持用戶數(shù)據(jù)。為了在客戶端(比如瀏覽器)可以跨頁(yè)面交流數(shù)據(jù),Netscape將cookie引入瀏覽器。所以,cookie是保存在瀏覽器端的。

服務(wù)器是如何來(lái)找到對(duì)應(yīng)的sessionne呢,是使用全局變量$_COOKIE。所以說(shuō),服務(wù)器在接到(request)的時(shí)候通過(guò)這個(gè)$_COOKIE獲取客戶端的數(shù)據(jù),然后又$_COOKIE來(lái)跟客戶端交流,將數(shù)據(jù)傳到客服端;相對(duì)于客戶端來(lái)說(shuō),通過(guò)$_COOKIE將想要存儲(chǔ)的數(shù)據(jù)發(fā)送給客戶端存儲(chǔ),需要取出數(shù)據(jù)的時(shí)候,通過(guò)這個(gè)session來(lái)向服務(wù)器取數(shù)據(jù),很方便的使用方法,但是cookie是有時(shí)效的所以說(shuō)session也是有時(shí)效的。

那么客戶端如何記錄這么多的數(shù)據(jù)呢?首先就是需要瀏覽器跟服務(wù)器建立數(shù)據(jù)傳輸關(guān)系,使得每個(gè)客戶端都要一個(gè)唯一標(biāo)示,這樣,服務(wù)器才能識(shí)別出來(lái)。建立唯一標(biāo)識(shí)的方法是通過(guò)cookie或者通過(guò)GET方式在服務(wù)端建立session。php在使用session的時(shí)候,默認(rèn)的會(huì)建立一個(gè)名叫"PHPSESSID"的cookie,值是唯一的,并在某個(gè)目錄下保存一個(gè)文件(文件名唯一由剛剛生成的那個(gè)cookie決定),然后發(fā)送給客戶端,客戶端在再次發(fā)送請(qǐng)求的時(shí)候,就會(huì)把這個(gè)名叫"PHPSESSID"的cookie帶過(guò)來(lái),也就是$_COOKIE["PHPSESSID"],這個(gè)cookie的值不是session本身,而是一個(gè)session_id,一個(gè)和客戶端一一對(duì)應(yīng)的id。

需要注意的是:

  • PHPSESSID這個(gè)名稱是可以配置的

  • ession保存的位置也是可以配置的通過(guò)php.ini中session.save_path設(shè)置,甚至,可以通過(guò)別的方式保存在數(shù)據(jù)庫(kù)或者緩存中

  • 在存session時(shí)限序列化,讀取的時(shí)候,先反序列化

這就是session的實(shí)現(xiàn)機(jī)制和原理。在機(jī)制不變的情況下,每個(gè)環(huán)節(jié)的實(shí)現(xiàn)方式幾乎都可以自定義。比如可以在這些方面實(shí)現(xiàn)自定義:

  • 如果客戶端不支持cookie,你也可以通過(guò)GET方式將session id發(fā)送到服務(wù)端

  • 如果你想改變唯一session_id的生成方式,你也可以選擇用uniqid

  • 你也可以改變session存放的路徑

  • 可以改變session文件的前綴,后綴

  • 甚至你可以把session存在數(shù)據(jù)庫(kù),緩存當(dāng)中

要想將session保存在別的媒介(比如緩存)需要先介紹一個(gè)接口:SessionHandlerInterface
可以通過(guò)實(shí)現(xiàn)這個(gè)接口,來(lái)自定義session的存貯方式,比如數(shù)據(jù)庫(kù)。當(dāng)然,要實(shí)現(xiàn)一些基本的方法。

session簡(jiǎn)介.jpg

Session的過(guò)期問(wèn)題

ini_set('session.gc_maxlifetime', 3600); //設(shè)置時(shí)間 ini_get('session.gc_maxlifetime');//得到ini中設(shè)定值

超過(guò)這個(gè)gc_maxlifetime時(shí)間,session會(huì)被認(rèn)為是garbage,有垃圾就有垃圾回收,但是垃圾回收的檢查卻不是每次都進(jìn)行,而是按照一個(gè)幾率,分別是這兩個(gè)參數(shù):

session.gc_probability = 1
session.gc_divisor = 1000

客戶端方面

主要和cookie的過(guò)期時(shí)間有關(guān)。php.ini中通過(guò)session.name = PHPSESSID來(lái)保存session的cookie名字默認(rèn)為PHPSESSID(可以修改),那么可以設(shè)定這個(gè)cookie的過(guò)期時(shí)間來(lái)實(shí)現(xiàn)session的過(guò)期。

session.use_cookies = 1;

把這個(gè)的值設(shè)置為1,利用cookie來(lái)傳遞sessionid;

session.cookie_lifetime = 0

這個(gè)代表SessionID在客戶端Cookie儲(chǔ)存的時(shí)間,默認(rèn)是0,代表瀏覽器一關(guān)閉sessionid就作廢。如果想使得PHPSESSID cookie永久有效,這個(gè)可以設(shè)為一個(gè)很大的值如999999999。另外也可以通過(guò)session_set_cookie_params()函數(shù)來(lái)設(shè)定PHPSESSID cookie的有效期


關(guān)鍵詞:
返回列表
综合干狼人综合首页,日本а中文在线天堂,中国av一区,日韩va亚洲va欧洲va国产
久久狠狠亚洲综合| 亚洲色图20p| 欧美日韩一区二区三区在线| 久久福利视频一区二区| 久久丝袜美腿综合| 亚洲不卡一区二区三区| 欧美亚洲日本国产| 成人免费av资源| 亚洲精品日日夜夜| 奇米一区二区三区av| 激情六月婷婷久久| 91精品国产色综合久久不卡电影| 在线亚洲一区观看| 麻豆视频观看网址久久| 水蜜桃久久夜色精品一区的特点| 国产精品不卡在线观看| 成人精品在线视频观看| 欧美浪妇xxxx高跟鞋交| 亚洲国产综合人成综合网站| 久久99这里只有精品| 精品捆绑美女sm三区| 国产精品精品国产色婷婷| 懂色av一区二区三区免费观看| 国产精品一二三四五| 亚洲视频一区二区在线观看| 日韩一区二区在线观看视频| 欧美日本一区二区| 中文字幕一区二区三区av| 日韩一级片网址| 图片区日韩欧美亚洲| 亚洲色图第一区| av动漫一区二区| 日韩电影在线一区二区| 久久精工是国产品牌吗| 国产精品久久久99| 久久九九国产精品| 国产精品网站在线| 国产亚洲精品中文字幕| 成人精品一区二区三区中文字幕| 国产精品久久国产精麻豆99网站| 欧美一级搡bbbb搡bbbb| 从欧美一区二区三区| 国产精品青草综合久久久久99| 一本色道久久综合亚洲91| 欧美色男人天堂| 国产精品一二二区| 欧美理论片在线| 欧美午夜寂寞影院| 韩国午夜理伦三级不卡影院| 久久国产夜色精品鲁鲁99| 欧美精品色一区二区三区| 另类小说综合欧美亚洲| 99免费精品视频| 亚洲va韩国va欧美va精品| 久久久国产精品不卡| 欧洲一区在线电影| 一区二区三区四区高清精品免费观看| 在线观看欧美日本| 国产精品国产三级国产普通话三级| 精品国产乱子伦一区| 91精品国产色综合久久ai换脸| 日日欢夜夜爽一区| 欧美日韩在线不卡| 久久亚洲欧美国产精品乐播| 久久亚洲精品国产精品紫薇| 99久久亚洲一区二区三区青草| 97se亚洲国产综合自在线观| 一个色妞综合视频在线观看| 亚洲欧洲日韩在线| 日韩国产精品91| 91蝌蚪porny九色| 成人一区在线看| 久久精品网站免费观看| 蜜臀久久久99精品久久久久久| 狠狠色2019综合网| 精品99久久久久久| 欧美亚洲动漫制服丝袜| 韩国三级在线一区| 亚洲精品久久嫩草网站秘色| 一区二区成人在线观看| 国产乱淫av一区二区三区| 亚洲午夜精品在线| 国产乱人伦精品一区二区在线观看| 97超碰欧美中文字幕| 成人av在线网| 午夜精品久久久久久久蜜桃app| 99精品视频一区| 国产日韩欧美电影| 国产美女精品在线| 99国内精品久久| 国产91精品在线观看| 欧美日韩一区二区三区四区五区| 丝袜美腿一区二区三区| 欧美一级二级在线观看| 精品夜夜嗨av一区二区三区| 精品国产伦一区二区三区免费| 日本韩国一区二区三区| 中文一区二区完整视频在线观看| 激情小说欧美图片| 色8久久精品久久久久久蜜| 国产精选一区二区三区| 欧美视频一区在线观看| 国产精品久久福利| 色av成人天堂桃色av| 欧美一二三区在线观看| 国产夫妻精品视频| 午夜激情一区二区| 欧美嫩在线观看| 欧美激情综合五月色丁香| 欧美日韩国产bt| 欧美高清一级片在线| 欧美α欧美αv大片| 日韩在线a电影| 精品国产一区二区三区四区四| 欧美国产在线观看| 国产在线观看免费一区| 国精品**一区二区三区在线蜜桃| 91视频国产资源| 最近日韩中文字幕| 香蕉久久一区二区不卡无毒影院| 亚洲va韩国va欧美va| 欧美一区二区三区免费视频| 九色|91porny| 国产精品 日产精品 欧美精品| 国产视频视频一区| 播五月开心婷婷综合| 在线成人免费视频| 成人免费高清视频在线观看| 五月天国产精品| 蜜桃久久久久久久| 成人国产视频在线观看| 国产嫩草影院久久久久| 精品国产不卡一区二区三区| 1000精品久久久久久久久| 91免费看`日韩一区二区| 欧美人体做爰大胆视频| 久久国产麻豆精品| 日韩精品国产欧美| 国产伦精品一区二区三区视频青涩| 欧美精品亚洲二区| 91精品国产一区二区三区蜜臀| 一本色道久久综合狠狠躁的推荐| 久久99精品国产.久久久久| 精品国产免费一区二区三区香蕉| 亚洲无人区一区| 亚洲午夜一区二区| 成人综合在线观看| 久久久国产综合精品女国产盗摄| 国产精品电影院| 欧美精品99久久久**| 色天使色偷偷av一区二区| 岛国一区二区在线观看| 欧美少妇bbb| 一区二区三区不卡视频在线观看| 91.成人天堂一区| 一区二区高清视频在线观看| 国产又粗又猛又爽又黄91精品| 成人动漫一区二区| 成人一区二区在线观看| 欧美xxx久久| 91精品1区2区| 欧美激情中文字幕| 欧美精品日韩一区| 欧美成人a∨高清免费观看| 欧美亚洲综合色| 久久免费视频一区| 天天爽夜夜爽夜夜爽精品视频| 色婷婷综合视频在线观看| 日本久久一区二区三区| 日韩中文字幕91| 9191精品国产综合久久久久久| 91丨porny丨首页| 激情五月婷婷综合网| 成人福利电影精品一区二区在线观看| 久久精品视频一区二区三区| 2欧美一区二区三区在线观看视频| 成人av资源在线| 国产精品美女久久久久久| 亚洲视频一区二区在线| 久久久久国产精品厨房| 国产午夜精品理论片a级大结局| 中文字幕av一区二区三区高| 亚洲成人先锋电影| 亚洲国产精品激情在线观看| 欧美精品一区二区三| 成人国产视频在线观看| 日韩国产一区二| 国内精品自线一区二区三区视频| 国产成人精品免费一区二区| 国产精品视频yy9299一区| 久久亚洲一区二区三区四区| 精品久久久久久亚洲综合网| 91亚洲精品久久久蜜桃网站| 国产精品激情偷乱一区二区∴| 欧美浪妇xxxx高跟鞋交| 国产精品一级片| 99久久99久久综合| 精品亚洲免费视频| 亚洲欧美日韩在线不卡| 91亚洲精华国产精华精华液|