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