更新時(shí)間:2022年12月02日14時(shí)00分 來(lái)源:傳智教育 瀏覽次數(shù):
Session與Cookie的聯(lián)系是它們都可以用來(lái)讓網(wǎng)站追蹤用戶(hù),實(shí)現(xiàn)用戶(hù)信息的同步。并且Session依靠Cookie來(lái)工作,通過(guò)$_COOKIE['PHPSESSID']獲取到sessionID,再通過(guò)sessionID可以獲取SeesionID可以獲取Session的其他數(shù)據(jù)。Session和Cookie的區(qū)別如下:
(1)Session是將數(shù)據(jù)存儲(chǔ)在服務(wù)器端的,而Cookie是將數(shù)據(jù)存儲(chǔ)在客戶(hù)端的瀏覽器上。
?。?)因?yàn)镃ookie是存儲(chǔ)數(shù)據(jù)在客戶(hù)端的,用戶(hù)可以分析存放在本地的Cookie文件,從而進(jìn)行Cookie欺詐,所以Cookie安全性比Session差。
?。?)Cookie的存儲(chǔ)大小不能超過(guò)4KB,而Session沒(méi)有存儲(chǔ)大小限制,并且可以存儲(chǔ)更復(fù)雜的數(shù)據(jù)類(lèi)型。
Session的共享方案一般有如下幾種:
(1)服務(wù)器間同步,定時(shí)同步各個(gè)服務(wù)器間的Session信息,保證數(shù)據(jù)的一致性。
(2)把會(huì)話(huà)數(shù)據(jù)存儲(chǔ)到某臺(tái)Memcache服務(wù)器中,可以把Session文件存放的目錄改為nfs網(wǎng)絡(luò)文件系統(tǒng),從而實(shí)現(xiàn)文件的跨機(jī)器共享。
?。?)通過(guò)Cookie加密的方式保存Session在客戶(hù)端,在A服務(wù)器上登錄,用戶(hù)瀏覽網(wǎng)頁(yè)時(shí)添加加密的Cookie,當(dāng)用戶(hù)訪(fǎng)問(wèn)B服務(wù)器時(shí),檢查有無(wú)Session,如果沒(méi)有,那么檢查Cookie是否有效,有效則在B服務(wù)器也創(chuàng)建一個(gè)Session,這樣可以減少服務(wù)器的壓力,也保證了Session的數(shù)據(jù)共享。
北京校區(qū)