php中cookie和session的區別與簡易用法
阿新 • • 發佈:2018-03-27
php cookie session 一、區別
1、Cookie是完全保存在客戶端。當客戶端禁止cookie時將不能再使用;對服務端壓力較小;可以指定生存周期;安全性差。
2、Session是存放在服務端的。但session id是存放在客戶端的cookie中的,但php的session存放方法是多樣化的,這樣就算禁用cookie一樣可以跟蹤;服務端壓力較大;關閉瀏覽器後,session失效;安全性較好。
二、cookie
1、設置。
1、Cookie是完全保存在客戶端。當客戶端禁止cookie時將不能再使用;對服務端壓力較小;可以指定生存周期;安全性差。
2、Session是存放在服務端的。但session id是存放在客戶端的cookie中的,但php的session存放方法是多樣化的,這樣就算禁用cookie一樣可以跟蹤;服務端壓力較大;關閉瀏覽器後,session失效;安全性較好。
二、cookie
1、設置。
Setcookie(string name, string value, int expire,string path, string domain, int secure) name是cookie變量名稱標識(必須), value是cookie變量的初始值(必須), expire 表示該cookie變量的有效時間(時間點,為空時cookie不會保存到客戶端,當瀏覽器關閉,cookie會失效), path 為該cookie變量的相關路徑, domain 表示cookie變量的網站,在此域名內cookie有效, secure 則需在 https 的安全傳輸時才有效。 例:SetCookie("name", "value",time()+3600, "/test", ".test.com", 1) 2、讀取。echo $_COOKIE["cookiename"];類似與POST和GET。 3、刪除 。SetCookie("cookiename", "")或SetCookie("cookiename", "value" , time()-1); 註: 1、必須在HTML文件的內容輸出之前設置; 2、不同的瀏覽器對Cookie的處理不一致; 3、一個瀏覽器能創建的Cookie數量最多為30個,並且每個不能超過4KB,每個WEB站點能設置的Cookie總數不能超過20個(未驗證); 4、首次訪問頁面時設置cookie,第二次訪問時才能讀取cookie值,因為cookie是保存在客戶端,需由客戶端傳至服務端才能讀取。 解決方法:設置cookie後,echo "<script>location.href=‘當前頁面‘</script>";
三、Session的配置
1、session_start(); //初始化session.需在文件頭部
2、$_SESSION[name]=value; //配置Seeeion
3、echo $_SESSION[name]; //使用session
4、isset($_SESSION[name]); // 判斷
5、unset($_SESSION[name]); //刪除
6、session_destroy(); //刪除所有session
php中cookie和session的區別與簡易用法