新聞中心
本教程操作環(huán)境:windows7系統(tǒng)、php7.1版、DELL G3電腦

成都創(chuàng)新互聯(lián)公司憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶(hù)提供超值的營(yíng)銷(xiāo)型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營(yíng)銷(xiāo)型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個(gè)人等客戶(hù)提供了成都網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。
無(wú)論是在系統(tǒng)運(yùn)維還是 PHP 開(kāi)發(fā)人員的面試中,經(jīng)常會(huì)被問(wèn)到 Session 和 Cookie 在 PHP 中的區(qū)別?下面我們就來(lái)總結(jié)一下:
Cookie 僅由客戶(hù)端生成、管理并使用,PHP 只是發(fā)出指令要求客戶(hù)端如何生成 Cookie、何時(shí)過(guò)期等,但是客戶(hù)端不一定會(huì)按照 PHP 的指令辦事。
Cookie 不是很安全,不法分子可以通過(guò)分析本地的 Cookie 進(jìn)行 Cookie 欺騙??紤]到安全問(wèn)題,建議將用戶(hù)的重要信息存放在 Session 中,其它不重要但需要保留的信息可以存放在 Cookie 中。
Session 是用戶(hù)進(jìn)入某個(gè)網(wǎng)站到關(guān)閉瀏覽器這段時(shí)間的會(huì)話(huà),默認(rèn)以文件形式存在服務(wù)器磁盤(pán)中,所以設(shè)置過(guò)多的 Session 會(huì)影響磁盤(pán)的性能,也可以用 Memory 引擎存入 MySQL,因?yàn)閮?nèi)存引擎讀寫(xiě)速度快,現(xiàn)在也可以指定用 Redis 來(lái)處理 Session,這樣更快,效率更高。
Session 的收回機(jī)制是被動(dòng)的,一般來(lái)說(shuō),一旦關(guān)閉瀏覽器 Session 也就被 PHP 自動(dòng)回收了,但有時(shí)即使設(shè)置了過(guò)期時(shí)間并且關(guān)閉瀏覽器也不一定會(huì)刪除 Session,比如設(shè)置多目錄多層級(jí)保存 Session 時(shí),這時(shí)需要通過(guò) PHP 腳本手動(dòng)刪除 Session。
通常 Cookie 與 Session 是綁定的,即用戶(hù)在沒(méi)有禁用 Cookie 時(shí),Cookie 一般會(huì)保存 Session ID 及 Session 生存周期,如果用戶(hù)刪除 Cookie 一般會(huì)退出系統(tǒng);如果沒(méi)有禁用 Cookie 關(guān)閉瀏覽器 Session 也會(huì)立即失效,要重新登錄系統(tǒng)。
Cookie 與 Session 一般應(yīng)于標(biāo)識(shí)用戶(hù)、權(quán)限認(rèn)證、存儲(chǔ)簡(jiǎn)單數(shù)據(jù)、還有就是利用 Cookie 實(shí)現(xiàn)單點(diǎn)登錄。
Cookie 存儲(chǔ)的數(shù)據(jù)在不同的瀏覽器會(huì)有不同的限制,一般在同一個(gè)域名下,Cookie 變量數(shù)量控制在 20 個(gè)以?xún)?nèi),每個(gè) Cookie 的值大小控制在 4kb 以?xún)?nèi)。Session 值沒(méi)有大小和數(shù)量限制,但如果數(shù)量過(guò)多,會(huì)增大服務(wù)器的壓力。另外,Cookie 保存的內(nèi)容是字符串,而 Session 保存的數(shù)據(jù)是對(duì)象。
Session 不能區(qū)分路徑,同一個(gè)用戶(hù)在訪問(wèn)一個(gè)網(wǎng)站期間,所有的 Session 在任何一個(gè)地方都可以訪問(wèn)到;而 Cookie 中如果設(shè)置了路徑參數(shù),那么同一個(gè)網(wǎng)站中不同路徑下的 Cookie 是不能互相訪問(wèn)的。
COOKIE和SESSION的區(qū)別
(1)存儲(chǔ)位置:Cookie存儲(chǔ)在客戶(hù)端瀏覽器中,相對(duì)不安全;Session內(nèi)容所在文件存儲(chǔ)在服務(wù)器中,一般在根目錄下的tmp文件夾中,相對(duì)更安全。
(2)數(shù)量和大小限制:Cookie存儲(chǔ)的數(shù)據(jù)在不同的瀏覽器會(huì)有不同的限制,一般在同一個(gè)域名下,Cookie變量數(shù)量控制在20個(gè)以?xún)?nèi),每個(gè)cookie值的大小控制在4kb以?xún)?nèi)。session值沒(méi)有大小和數(shù)量限制,但如果數(shù)量過(guò)多,會(huì)增大服務(wù)器的壓力。
(3)內(nèi)容區(qū)別:cookie保存的內(nèi)容是字符串,而服務(wù)器中的session保存的數(shù)據(jù)是對(duì)象。
(4)路徑區(qū)別:session不能區(qū)分路徑,同一個(gè)用戶(hù)在訪問(wèn)一個(gè)網(wǎng)站期間,所有的session在任何一個(gè)地方都可以訪問(wèn)到;而cookie中如果設(shè)置了路徑參數(shù),那么同一個(gè)網(wǎng)站中不同路徑下的cookie互相是訪問(wèn)不到的。
名稱(chēng)欄目:php中cookie與session有什么區(qū)別
本文URL:http://fisionsoft.com.cn/article/djdghgj.html


咨詢(xún)
建站咨詢(xún)
