新聞中心
PHP中Cookie與Session的主要區(qū)別
記得前段時(shí)間無憂小編講解并在無憂主機(jī)php虛擬主機(jī)的官網(wǎng)發(fā)表過session的用法和功能的介紹文檔。今天小編就分析一下session和cookie的區(qū)別。其實(shí)這兩者的區(qū)別和聯(lián)系感覺蠻深?yuàn)W,總有那么一點(diǎn)難以辨析的存在。 對于 Cookie 來說,比如我們要驗(yàn)證用戶是否登陸,就必須在 Cookie 中保存用戶名和密碼(可能是 md5 加密后字符串),并在每次請求頁面的時(shí)候進(jìn)行驗(yàn)證。如果用戶名和密碼存儲(chǔ)在數(shù)據(jù)庫,那么每次都要執(zhí)行一次數(shù)據(jù)庫查詢,給數(shù)據(jù)庫造成多余的負(fù)擔(dān)。因?yàn)槲覀儾⒉荒苤蛔鲆淮悟?yàn)證。為什么呢?因?yàn)榭蛻舳?Cookie 中的信息是有可能被修改的。假如你存儲(chǔ) $admin 變量來表示用戶是否登陸,$admin 為 true 的時(shí)候表示登陸,為 false 的時(shí)候表示未登錄,在第一次通過驗(yàn)證后將 $admin 等于 true 存儲(chǔ)在 Cookie,下次就不用驗(yàn)證了,這樣對么?錯(cuò)了,假如有人偽造一個(gè)值為 true 的 $admin 變量那不是就立即取的了管理權(quán)限么?非常的不安全。 而 Session 就不同了,Session 是存儲(chǔ)在服務(wù)器端的,遠(yuǎn)程用戶沒辦法修改 session 文件的內(nèi)容,因此我們可以單純存儲(chǔ)一個(gè) $admin 變量來判斷是否登陸,首次驗(yàn)證通過后設(shè)置 $admin 值為 true,以后判斷該值是否為 true,假如不是,轉(zhuǎn)入登陸界面,這樣就可以減少很多數(shù)據(jù)庫操作了。而且可以減少每次為了驗(yàn)證 Cookie 而傳遞密碼的不安全性了(session 驗(yàn)證只需要傳遞一次,假如你沒有使用 SSL 安全協(xié)議的話)。即使密碼進(jìn)行了 md5 加密,也是很容易被截獲的。 經(jīng)過小編這樣的介紹,相信大家對 Session 和 Cookie 應(yīng)該有一定的了解了。感謝大家長期以來對無憂主機(jī)的支持。 無憂主機(jī)相關(guān)文章推薦閱讀: 解決DIYPAG程序首頁CSS失效 如何在DIYPAGE中添加GOOGLE廣告 無憂主機(jī)講解DIYPAGE模板目錄與文件結(jié)構(gòu) 如何利用.HTACCESS規(guī)則解決新建目錄訪問無效
本文地址:http://www.gle-technology.com/others/19163.html