1、cookie數據存放在客戶的浏覽器上,session數據放在服務器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙,考慮到安全應當使用session。
3、session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能, 考慮到減輕服務器性能方面,應當使用COOKIE。
4、單個cookie在客戶端的限制是3K,就是說一個站點在客戶端存放的COOKIE不能3K。
例,COOKIE
如:setCookie('user','zhangsan',time()+3600),代表 user變量值為張三的cookie存活時間為1小時,在此要注意此函數屬於頭函數,也就相當於php中的header()跳轉函數,在它之前不能有“任何輸出(包括空格)”。
2、用$_COOKIE['user']來獲取cookie值。www.111cn.net
3、注銷cookie :setCookie('user','',time()-3600); 或 setCookie('user');
4、
//刪除客戶端在cookie中的sessionid
if(isset($_COOKIE[session_name()])){
setCookie(session_name(),'',time()-30,'/');
}
例,session
1、//開啟session
session_start();
2、//清空session值
$_SESSION = array();
//徹底銷毀session
session_destroy();
session和cookie誰更安全
就個人而言,我覺得session更安全一點,我以下幾點看法。
1,如果session和cookie一樣安全的話,二者就沒有並要同時存在了,只要cookie就好了,讓客戶端來分提服務器的負擔,並且對於用戶來說又是透明的。何樂而不為呢。
2,session的sessionID是放在cookie裡,要想功破session的話,第一要功破cookie。功破cookie後,你要得到 sessionID,sessionID是要有人登錄,或者啟動session_start才會有,你不知道什麼時候會有人登錄。第二,sessionID是加密的,第二次session_start的時候,前一次的sessionID就沒有用了,session過期時sessionid也會失效,想在短時間內功破加了密的 sessionID很難。session是針對某一次通信而言,會話結束session也就隨著消失了,而真正的cookie存在於客戶端硬盤上的一個文本文件,誰安全很顯然了。
3,如果session這麼容易被功破,這麼不安全的話,我想現有的絕大部分網站都不安全了。