本文實(shí)例分析了PHP cookie用法。分享給大家供大家參考,具體如下:
會話技術(shù):cookie
允許服務(wù)器端腳本在瀏覽器存儲數(shù)據(jù)的技術(shù),
允許服務(wù)器向?yàn)g覽器發(fā)送指令,用來管理存儲在瀏覽器端的cookie數(shù)據(jù)
瀏覽器如果存儲了某服務(wù)器所存儲的cookie數(shù)據(jù),請求時會帶上cookie的數(shù)據(jù)
//增、改setcookie(key,val);//刪setcookie(key,'');//獲取瀏覽器攜帶的cookie數(shù)據(jù)$_COOKIE[key]
特征:
有效期:
默認(rèn)是臨時cookie,也叫會話cookie,會話結(jié)束(瀏覽器關(guān)閉)就清除。可以通過設(shè)置時間戳(1970年第一秒起)確定生命期,在瀏覽器端時間以格林威治標(biāo)準(zhǔn)時間(GMT)作為標(biāo)準(zhǔn)
setcookie(key,val,time()+60);//代表保存1分鐘,瀏覽器會檢查是否失效setcookie(key,val,0);//默認(rèn)會話setcookie(key,'',time()-1);//刪除cookiesetcookie(key,val,PHP_INT_MAX);//邏輯上表示永久有效
有效路徑:
默認(rèn)在當(dāng)前路徑及其后代路徑有效。(路徑不是代碼所在文件的本地磁盤路徑,而是url請求的路徑關(guān)系)
不同路徑下同名的cookie可同時存儲于瀏覽器,瀏覽器會先查找當(dāng)前目錄內(nèi)有效的cookie,再向上查找,所有有效的都會攜帶至服務(wù)器,服務(wù)器端形成$_COOKIE時,會出現(xiàn)重寫效果,先出現(xiàn)的保留,
可以通過設(shè)置setcookie()第四個參數(shù)為'/'表示站點(diǎn)根目錄有效,即整站有效。有效路徑由瀏覽器判斷,有效路徑設(shè)置時候服務(wù)器會告知瀏覽器
setcookie(key,val,0,'/');
有效域:
默認(rèn)cookie僅僅在當(dāng)前域下有效
可以通過設(shè)置使cookie的有效域,擴(kuò)展到某個一級域名下的所有子域
me.com //一級域名lig.me.com //二級域名bee.me.com //二級域名setcookie(key,val,0,'','me.com');
是否僅安全傳輸
默認(rèn)不論瀏覽器發(fā)出的是http和https協(xié)議都會將有效的cookie攜帶給服務(wù)器
可以通過設(shè)置第六個參數(shù)為true,表示激活僅安全傳輸,此時瀏覽器發(fā)送請求時若為http協(xié)議,就不會發(fā)送這些設(shè)置為僅安全傳輸?shù)腸ookie,apache需要加載openssl模塊才能使用https協(xié)議
setcookie(key,val,0,'','',true);
HTTPonly
默認(rèn)瀏覽器所存儲的腳本可以被其它腳本調(diào)用處理
通過設(shè)置第7個參數(shù)使得只能cookie只能在http請求中使用
setcookie(key,val,0,'','',false,true);
注意:
cookie值只能是字符串類型
cookie鍵可以寫成數(shù)組下標(biāo)的形式
setcookie()前不能有輸出(output_buffering)
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選