1. 程式人生 > >session與cookie的區別是什麼?如果客戶端禁用了cookie功能,將會對session有什麼影響?

session與cookie的區別是什麼?如果客戶端禁用了cookie功能,將會對session有什麼影響?

cookie 和session 的區別:

a、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。

b、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙

考慮到安全應當使用session。

c、session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能

考慮到減輕伺服器效能方面,應當使用COOKIE。

d、單個cookie儲存的資料不能超過4K,很多瀏覽器都限制一個站點最多儲存20個cookie。

e、所以個人建議:

將登陸資訊等重要資訊存放為SESSION

其他資訊如果需要保留,可以放在COOKIE中

Cookie與 Session,一般認為是兩個獨立的東西,Session採用的是在伺服器端保持狀態的方案,而Cookie採用的是在客戶端保持狀態的方案。但為什麼禁用Cookie就不能得到Session呢?因為Session是用Session ID來確定當前對話所對應的伺服器Session,而Session ID是通過Cookie來傳遞的,禁用Cookie相當於失去了Session ID,也就得不到Session了。

假定使用者關閉Cookie的情況下使用Session,其實現途徑有以下幾種:

   1》 設定php.ini配置檔案中的“session.use_trans_sid = 1”,或者編譯時開啟打開了“--enable-trans-sid”選項,讓PHP自動跨頁傳遞Session ID。

   2》 手動通過URL傳值、隱藏表單傳遞Session ID。

   3》 用檔案、資料庫等形式儲存Session ID,在跨頁過程中手動呼叫。