PHP Cookie处理
Cookie 是什么?
cookie是保存在客戶端的信息包(一個文件)
cookie 常用于識別用戶。
cookie 是一種服務器留在用戶計算機上的小文件。每當同一臺計算機通過瀏覽器請求頁面時,這臺計算機將會發(fā)送 cookie。通過 PHP,您能夠創(chuàng)建并取回 cookie 的值。
如何創(chuàng)建 Cookie?
setcookie() 函數(shù)用于設置 cookie。s
注釋:setcookie() 函數(shù)必須位于 標簽之前。
語法:
- ?
注釋:在發(fā)送 cookie 時,cookie 的值會自動進行 URL 編碼,在取回時進行自動解碼。(為防止 URL 編碼,請使用 setrawcookie() 取而代之。)
注:
如何取回 Cookie 的值?
PHP 的 $_COOKIE 變量用于取回 cookie 的值。
在下面的實例中,我們?nèi)』亓嗣麨?“user” 的 cookie 的值,并把它顯示在了頁面上:
<?php // 輸出 cookie 值 echo $_COOKIE["user"];// 查看所有 cookie print_r($_COOKIE); ?>- ?
注意:
1、關閉瀏覽器后,cookie消失。這種cookie稱為臨時性cookie
2、cookie的信息不可以在不同的瀏覽器中共享,不可以跨瀏覽器。
臨時性cookie:
說明:關閉瀏覽器后,cookie的值消失
永久性cookie
說明:關閉瀏覽器后cookie的值不消失
語法:給cookie添加過期時間就形成了永久性cookie,過期時間是時間類型是時間戳
eg。
- ?
cookie的有效目錄
cookie默認在當前目錄及子目錄中有效
cookie一般要設置在整站有效
setcookie('name','tom',0,'/'); // /表示根目錄- ?
支持子域名
場景:每個域名代碼一個網(wǎng)站,網(wǎng)站之間的cookie是不可以相互訪問的。
多個子域名下如何實現(xiàn)cookie共享:
問題:百度下有多個二級域名的網(wǎng)站,他們自己的cookie是要共享的,如何實現(xiàn)?
- ?
是否安全傳輸
安全傳輸就是https傳輸。
默認情況下https和http都可以傳輸cookie
setcookie('name','tom',0,'/','',true); // true表示只能是https傳輸- ?
是否安全訪問
默認情況下,PHP和JS都可以訪問cookie
安全訪問:PHP可以訪問,JS不可以 默認是false。
php代碼:
- ?
html代碼:
<?php echo $_COOKIE['name'],'<br>'; //PHP獲取cookie ?><script type="text/javascript">document.write(document.cookie); //js獲取cookie </script>- ?
刪除cookie
注意:cookie中只能保存數(shù)字和字符串。
<?php //setcookie('name',false); //刪除cookie方法一 //setcookie('name'); //刪除cookie方法二 setcookie('name','tom',time()-1); //刪除cookie方法三- ?
cookie的缺點
1、因為在瀏覽器中可以看到cookie 的值,所以安全性低
2、因為只能保存字符串和數(shù)字,所以可控性差
3、因為數(shù)據(jù)放在請求頭中傳輸,增加了請求時候的數(shù)據(jù)負載。
4、因為數(shù)據(jù)存儲在瀏覽器中,但瀏覽器存儲空間是有吸限制的,一般是4K。
總結(jié)
以上是生活随笔為你收集整理的PHP Cookie处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP---错误处理(error)
- 下一篇: PHP-连接数据库