Cookie的原理:
服務器設置某個鍵值,如:username= ‘zhangsan’
並把此值交給瀏覽器,當瀏覽器再次訪問服務器的時候,
把此值帶過來,並由服務器檢測此值
這種鍵值變量,就是cookie
Cookie的安全性:在瀏覽器端存放,不安全
服務器如何設置cookie
PHP使用setcookie()函數
如何查看cookie:
Cookie在瀏覽器裏,每次用戶請求服務器時,
都先把cookie帶過來,
在PHP中cookie值可以通過超全局變量$_COOKIE來讀取
$_COOKIE是一個數組
如查看cookie中的用戶名,使用$_COOKIE[‘username’]
Cookie參數的設置
如何設置cookie的變量名?
如何設置cookie中的變量值?
Cookie的有效期?
在一個網站設置的cookie在哪裏有效?
setcookie()參數設置:
bool setcookie ( string $name [, string$value [, int $expire = 0 [, string $path [, string $domain [, bool $secure =false [, bool $httponly = false ]]]]]] )
<?php /*兩個參數,cookie隨着瀏覽器的關閉,就失效*/ setcookie('username','zhangsan'); ?> |
<?php /*三個參數,設置cookie, 第三個參數,設置cookie的生命週期,以時間戳爲單位 關掉瀏覽器後,cookie還存在*/ setcookie('username','zhangsan',time()+15); echo "<a href='03.php'>03.php</a>" ?> |
Cookie的作用域:
一個頁面設置的cookie,
默認是同級目錄下,及其子目錄下可以讀取
如果想讓整站有效,可以再根目錄下設置setcookie
也可以使用第四個參數,指定cookie有效路徑
<?php /*四個參數,設置cookie 第四個參數設置cookie的保存路徑*/ setcookie('username','zhangsan',time()+15,'./'); echo "<a href='03.php'>03.php</a>" ?> |
Cookie是不能跨域名的,否則安全問題就太大了
換一個目錄
127.0.0.1
localhost
每個cookie都有主機,路徑名,過期時間
但是可以再一個域名的二級子域名下使用,
需要使用第五個參數:
如何使cookie失效
<?php /*使cookie失效,設置cookie的有效期*/ setcookie('username','',0); ?> |