1. 程式人生 > >Cookie設定與銷燬

Cookie設定與銷燬

/* 2個引數設定cookie cookie隨著瀏覽器的關閉,就失效了 */

setcookie('age',29);

/* 下面我們讓cookir多活一會 3個引數來設定cookie,第3個引數指的就是cookie的宣告週期,以時間戳為單位 關掉瀏覽器後,可以對比出效果,age,關掉瀏覽器就失效 而school能存活1個小時 */
setcookie('school','MBA',time()+3600);
/* cookie的作用域 一個頁面設定的cookie 預設在其統計目錄下,及子目錄下可以讀取 如果想讓cookie整站有效,可以在根目錄下setcookie 也可以用第4哥引數,來指定cookie生效路徑 */

setcookie('gloabl','any where',time()+3600,'/');

/* cookie是不能夠跨域名(否則安全問題太嚴重了) 比如shou.com的cookie,不能被髮到sina.com用 但是,可以在一個域名的子域名下使用 需要用第5哥引數,來表示 例如:setcookie('key','value',time()+2000,'/','.sina.com.cn'); 這個cookie在book.sina.com.cn可以用 在mili.sina.com.cn也可以用 */
echo 'cookie set ok';
/* cookie銷燬 */
setcookie('school','',0);//把時間設為0,就是過期了

cookie 和session的區別:
 1、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。
 2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙
    考慮到安全應當使用session。
 3、session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能
     考慮到減輕伺服器效能方面,應當使用COOKIE。
 4、單個cookie儲存的資料不能超過4K,很多瀏覽器都限制一個站點最多儲存20個cookie。
 5、所以個人建議:
    將登陸資訊等重要資訊存放為SESSION
    其他資訊如果需要保留,可以放在COOKIE中

 

第一個問題是,你的程式,是否真的需要使用cookie,

目前很少有系統使用cookie,至少在國內是這樣。

計算機公用,把使用者資訊儲存在cookie範圍內,容易造成個人資料的洩密。

------------------------------------------------------------------

如果確定,真的要使用cookie,那麼在登出的時候是不應該刪除cookie的資訊的,但是可以更新。

如果每次登陸時,建立一個使用者cookie檔案,登出時又刪除,那麼和使用session儲存使用者資訊又有什麼區別。

cookie的作用就是,在使用者離線時,仍然可以把使用者的重要資訊記錄在使用者機器上。