综合干狼人综合首页,日本а中文在线天堂,中国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国产
久久九九国产精品| 精品动漫一区二区三区| 欧美高清www午色夜在线视频| 国产一区二区三区在线| 亚洲成在线观看| 亚洲精品国久久99热| 精品成人一区二区| 欧美日韩国产一区二区三区地区| 精品国产制服丝袜高跟| 91精品国产全国免费观看| 亚洲制服欧美中文字幕中文字幕| 欧美三级在线播放| 久久久综合九色合综国产精品| 欧美日韩在线免费视频| 成人美女在线视频| 国产精品中文欧美| 日韩精品在线一区二区| 色婷婷av一区二区三区软件| 一区二区三区日韩在线观看| 欧美精品亚洲二区| 日韩欧美主播在线| 国产激情91久久精品导航| 久久久久久久免费视频了| 最新亚洲国产精品| 欧美日韩一区二区三区四区| 91蜜桃婷婷狠狠久久综合9色| 久久久精品黄色| 亚洲欧美一区二区三区极速播放| 国产激情视频一区二区三区欧美| 日韩成人在线视频| 亚洲一区免费在线观看| 国产真实精品久久二三区| 欧美日韩国产电影| 亚洲欧洲在线视频| 精品国产亚洲在线| 精品久久久久久亚洲国产300| 婷婷一区二区三区| 亚洲精品视频播放| 中文综合在线观看| 亚洲综合激情小说| 国产成人亚洲综合a∨猫咪| 国产日韩欧美不卡在线| 欧美一区二区三区在线视频| 日韩女同互慰一区二区| 久久精品男人的天堂| 在线看国产日韩| 国产乱子轮精品视频| 国产一区二区三区四区在线观看| 亚洲欧美一区二区三区极速播放| 最近2019中文免费高清视频观看www99| 9色porny自拍视频一区二区| 亚洲成人激情视频| 综合欧美国产视频二区| 日韩精品中文字幕一区| 国产在线国偷精品产拍免费yy| 欧美性猛交xxxx免费看| 国产在线播精品第三| 97aⅴ精品视频一二三区| 亚洲黄色成人网| 欧美成人国产一区二区| 亚洲国产精品一区二区久久恐怖片| 国产婷婷一区二区| 成人午夜视频网站| 91精品国产全国免费观看| 欧美日韩免费观看中文| 99这里只有久久精品视频| 欧美日韩精品欧美日韩精品一综合| 欧美日韩中文在线| 国产精品欧美极品| 亚洲第一网站男人都懂| 欧美日韩一区二区精品| 亚洲激情在线观看| 亚洲毛片在线免费观看| 国产精品一区二区在线观看网站| 欧美高清性hdvideosex| 日韩电影免费观看中文字幕| 国产美女精品一区二区三区| 国产麻豆精品在线观看| 精品动漫一区二区三区| 亚洲一区二区视频| 91精品国产欧美一区二区| 日韩午夜中文字幕| 久久一区二区三区国产精品| 亚洲开心激情网| 色综合久久综合| 欧美高清激情brazzers| 国产成人精品免费一区二区| 亚洲精品www| 久久综合久久久久88| 亚洲综合另类小说| 欧美日韩在线免费| 日韩欧美国产中文字幕| 日韩一区二区三区视频| 91精品国产高清一区二区三区蜜臀| 五月天丁香久久| 欧美一区二区三区四区视频| 日韩欧美一二三四区| 久久久一区二区三区捆绑**| 国产亚洲成aⅴ人片在线观看| 欧美丰满美乳xxx高潮www| 欧美日韩国产丝袜美女| 狠狠网亚洲精品| 亚洲男人的天堂网| 日韩一区二区电影网| 91麻豆精品国产综合久久久久久| 欧美日韩国产电影| 精品粉嫩超白一线天av| 国产精品三级视频| 亚洲欧洲日韩av| 五月婷婷欧美视频| 欧美一区二区三区电影| 亚洲一区电影777| 亚洲精品国产品国语在线| 国产乱人伦精品一区二区在线观看| 久久嫩草精品久久久久| 亚洲欧洲偷拍精品| 亚洲一区二区成人在线观看| 国产福利一区在线观看| 亚洲高清免费在线| 亚洲欧美日韩国产精品| 国产欧美一区二区三区网站| 中文字幕久久久| 一区二区欧美视频| 97精品电影院| 亚洲日本欧美日韩高观看| 国产免费观看久久| 成人丝袜18视频在线观看| 久久亚洲免费视频| 中文字幕一区二区5566日韩| 国产精品一品视频| 国产欧美中文在线| 欧美一卡在线观看| 色综合久久中文综合久久牛| 亚洲在线视频网站| 国产丝袜一区二区三区免费视频| 欧美一区二区三区婷婷月色| 欧美另类z0zxhd电影| 欧美日韩国产高清一区二区三区| 九九热在线视频观看这里只有精品| 一本一本久久a久久精品综合麻豆| 在线视频国产一区| 国产亚洲精品免费| 国产久卡久卡久卡久卡视频精品| 精品欧美国产一区二区三区| 亚洲综合成人在线| 91福利在线观看| 亚洲一区二区三区免费视频| 欧美精品1区2区| 91精品欧美综合在线观看最新| 黑人精品xxx一区一二区| 国产一区二区免费| 日韩一区二区在线观看视频| 色综合久久综合中文综合网| 欧美日韩精品高清| 亚洲影院久久精品| 欧美丰满高潮xxxx喷水动漫| 精品视频在线免费看| 欧美一级久久久| 国产精品网站在线观看| 国产精品自拍av| 欧美另类变人与禽xxxxx| 国产精品免费免费| 精品福利在线看| 欧美日韩国产系列| 欧美一区二视频| 国产欧美一区二区精品仙草咪| 精品国产乱码久久久久久婷婷| 欧美另类变人与禽xxxxx| 国产精品一品视频| 在线视频欧美精品| 国产农村妇女毛片精品久久麻豆| 日韩欧美亚洲国产一区| 精品久久久一区二区| 国产成人精品www牛牛影视| 中文成人av在线| 欧美精品一区二区三区蜜臀| 国产亚洲综合在线| 久久久午夜精品| 在线观看免费成人| 色综合久久综合网欧美综合网| 欧美大片在线观看一区| 国产香蕉久久精品综合网| 午夜久久福利影院| 久久精品亚洲一区二区三区浴池| 亚洲视频在线观看一区| 欧美精品日韩综合在线| 色综合天天综合在线视频| 亚洲精品美女在线| 精品视频在线看| 亚洲一区二区三区在线| 欧美成人性福生活免费看| 国产成人精品三级麻豆| 精品午夜一区二区三区在线观看| 精品视频一区二区三区免费| 精品日韩一区二区三区| 精品久久香蕉国产线看观看gif| 欧美精品一区二区在线播放| 欧美一区二区三区视频| 国产精品免费视频网站| 日韩欧美一级特黄在线播放|