亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

淺談COOKIE和SESSION區別

2024-05-04 23:37:54
字體:
來源:轉載
供稿:網友

在PHP面試中經常碰到請闡述session與cookie的區別與聯系,以及如何修改兩者的有效時間。具體來說cookie機制采用的是在客戶端保持狀態的方案,而session機制采用的是在服務器端保持狀態的方案。

一、cookie介紹

cookie 常用于識別用戶。cookie 是服務器留在用戶計算機中的小文件。每當相同的計算機通過瀏覽器請求頁面時,它同時會發送 cookie。通過 PHP,您能夠創建并取回 cookie 的值。

1、設置Cookie

PHP用SetCookie函數來設置Cookie。

SetCookie函數定義了一個Cookie,并且把它附加在HTTP頭的后面,SetCookie函數的原型如下:

int SetCookie(string name, string value, int expire, string path, string domain, int secure);

參數說明:cookie名稱,cookie值,過期時間(int),有效路徑,有限域名,https傳遞才有效

注意:當前設置的Cookie不是立即生效的,而是要等到下一個頁面時才能看到.這是由于在設置的這個頁面里Cookie由服務器傳遞給客戶瀏覽器,在下一個頁面瀏覽器才能把Cookie從客戶的機器里取出傳回服務器的原因。

使用例子:

普通使用:

setcookie('name','PHP淮北');

帶失效時間的:

setcookie('name','PHP淮北',time()+24*60*60);//1day

Cookie是面向路徑的 ,默認存儲在當前文件下,如果沒有設置路徑,不同文件下的cookie默認保存在不同文件夾下,如圖:默認保存在mytest文件夾下

2、接收和處理Cookie

用戶端與服務端的web通信協議是http。而PHP通過http取得用戶數據慣用的三種方法分別是:POST方法、GET方法還有Cookie。而PHP默認傳遞方法正是Cookie,也是最佳方法。

比如設置一個名為MyCookier的Cookie,PHP會自動從WEB服務器接收的HTTP頭里把它分析出來,并形成一個與普通變量一樣的變量,名為$myCookie,這個變量的值就是Cookie的值

3,刪除Cookie

要刪除一個已經存在的Cookie,有兩個辦法:

一是調用只帶有name參數的SetCookie,那么名為這個name的Cookie將被從關系戶機上刪掉;例如:setcookie('name','');

另一個辦法是設置Cookie的失效時間為time()或time()-1,那么這個Cookie在這個頁面的瀏覽完之后就被刪除了(其實是失效了)。 例如:setcookie('name','PHP淮北',time()-24*60*60);

要注意的是,當一個Cookie被刪除時,它的值在當前頁在仍然有效的。

使用Cookie的注意事項:

首先是必須在HTML文件的內容輸出之前設置(Cookie是HTTP協議頭的一部分,用于瀏覽器和服務器之間傳遞信息,所以必須在任何屬于HTML文件本身的內容輸出之前調用Cookie函數。

在PHP頁面可以先使用

ob_start();//開啟

code…..

ob_end_flush(); //刷新緩存

可以防止header提示錯誤);

不同的瀏覽器對Cookie的處理機制不一樣

cookie限制是在客戶端的。一個瀏覽器能創建的Cookie數量最多為30個,并且每個不能超過4KB,每個WEB站點能設置的Cookie總數不能超過20個。

當前設置的Cookie不是立即生效的,而是要等到下一個頁面時才能看到

二、session介紹

session機制是一種服務器端的機制,服務器使用一種類似于散列表的結構(也可能就是使用散列表)來保存信息,每一個網站訪客都會被分配給一個唯一的標志符,即會話ID,它的存放形式無非兩種:要么經過url傳遞,要么保存在客戶端的Cookies里.當然,你也可以將Session保存到數據庫里,這樣會更安全,但效率方面會有所下降.url方式傳遞安全性肯定太差,PHP的會話機制是通過設置Cookie,在Cookie中保存會話id(Session ID),在服務器端會生成session文件,與用戶進行關聯,Web應用程序存儲與這些Session相關的數據,并在各頁面間進行傳遞.

PHP相關函數

在PHP中有關Session的函數比較多,不過我們最常用到的也就這么幾個函數:

session_start():啟用session機制,在需要用到session的程序文件的最開始調用它.

session_register():注冊session變量

session_unregister(): 刪除session變量(一個一個刪除)

session_is_registered(): 判斷session變量是否注冊

session_distroy(): 銷毀所有session變量(所有session變量銷毀,包括文件)

需要注意下面幾個方面:

1.函數session_start()必須在程序最開始執行,在其前面不能有任何輸出內容,否則

就會出現“Warning:Cannot send session cookie - headers already

sent"類似這樣的警告信息.

2.函數session_register()用于注冊要保存在session中的相關變量,其用法如下:

 

 
  1. <?php 
  2.  
  3. $val = "session value"
  4.  
  5. session_register("val"); 
  6.  
  7. ?> 

val即為要注冊的session變量名,在注冊時一定不要加上"$"符號,只寫其變量名稱即可.

3.函數session_unregister()與上面函數用法完全相同,但功能相反,上面函數是注冊

session變量,而其則是刪除指定的session變量.

4.函數session_is_registered()用于判斷session變量是否注冊.

5.函數session_destroy()主要用于在系統注銷和退出時,銷毀所有的session變量,它沒有參數,直接調用即可。

Session與PHP.ini的關系配置

1,session.save_handler = file

用于讀取/回寫session數據的方式,默認是files。它會讓PHP的session管理函數使用指定的文本文件存儲session數據

2,session.save_path = “/xammp/temp/”

指定保存session文件的目錄,可以指定到別的目錄,但是指定目錄必須要有httpd守護進程屬主(比如apache或www等)寫權限,否則無法回存session數據。它還可以寫成這樣session.save_path = “N;/path” 其中N是整數。這樣使得不是所有的session文件都保存在同一個目錄中,而是分散在不同目錄。這對于服務器處理大量session文件是很有幫助的。(注:目錄需要自己手工創建)

3,session.auto_start = 0

如果啟用該選項,用戶的每次請求都會初始化session。不推薦使用,最好通過session_start()顯示地初始化session。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品精品久久久| 日韩av片电影专区| 成人免费xxxxx在线观看| 国产精品久久久久免费a∨| 欧美大尺度电影在线观看| 国产成人在线播放| 日韩国产一区三区| 亚洲国产成人精品女人久久久| 欧美日韩免费区域视频在线观看| 欧美大片第1页| www.美女亚洲精品| 日韩av色综合| 国产精欧美一区二区三区| 日韩亚洲第一页| 综合久久五月天| 国产日韩在线亚洲字幕中文| 日韩大片免费观看视频播放| 国产91ⅴ在线精品免费观看| 日韩小视频网址| 亚洲欧美中文字幕| 日韩在线中文字幕| 国产一区二区三区高清在线观看| 久久精品小视频| 国产一区二区成人| 亚洲国产精品999| 亚洲黄色有码视频| 欧美日韩国产限制| 海角国产乱辈乱精品视频| 亚洲va国产va天堂va久久| 欧美日韩在线免费观看| 欧美性xxxxhd| 亚洲欧美国产日韩中文字幕| 欧美一级在线亚洲天堂| 亚洲综合日韩中文字幕v在线| 精品成人69xx.xyz| 亚洲欧美一区二区激情| 欧美专区第一页| 日韩精品在线视频观看| 最近2019中文字幕一页二页| 久久成人一区二区| 97在线视频精品| 91久久综合亚洲鲁鲁五月天| 欧美体内谢she精2性欧美| 成人激情视频在线播放| 成人av资源在线播放| 亚洲精品欧美日韩专区| 欧洲成人性视频| 国产精品爱啪在线线免费观看| 久久人人看视频| 国产精品av电影| 亚洲免费人成在线视频观看| 一本色道久久88综合日韩精品| 欧美日韩亚洲激情| 欧美专区国产专区| 97久久伊人激情网| 亚洲激情 国产| 啊v视频在线一区二区三区| 国产欧美精品日韩| 亚洲人午夜色婷婷| 日韩av影片在线观看| 狠狠干狠狠久久| 亚洲国产一区二区三区四区| 国产aⅴ夜夜欢一区二区三区| 亚洲国产日韩精品在线| 一夜七次郎国产精品亚洲| 亚洲黄色www网站| 亚洲欧美在线第一页| 成人中文字幕+乱码+中文字幕| 国产精品日韩精品| 欧美在线免费观看| 国产亚洲一区二区精品| 久久九九有精品国产23| 久久久久女教师免费一区| 亚洲欧美日韩一区二区三区在线| 欧美超级免费视 在线| 久久国产精品久久久| 久久免费视频网| 亚洲精品国产免费| 91色琪琪电影亚洲精品久久| 国产精品伦子伦免费视频| 亚洲欧美日韩精品久久奇米色影视| 久久久久久尹人网香蕉| 日韩亚洲在线观看| 91日本在线视频| 91精品综合久久久久久五月天| 亚洲国产91精品在线观看| 日韩毛片在线看| 亚洲欧洲在线播放| 欧美精品手机在线| 亚洲xxxx18| 欧美一级电影在线| 久久久久久久久久国产| 精品国产欧美一区二区三区成人| www亚洲精品| 国产精品视频xxxx| 午夜精品一区二区三区在线视| 亚洲国产免费av| 中文字幕成人在线| 欧美精品一区二区三区国产精品| 久久最新资源网| 亚洲天堂色网站| 日韩国产欧美精品一区二区三区| 精品久久久久久国产91| 一区二区国产精品视频| 久久综合88中文色鬼| 日韩影视在线观看| 精品国内产的精品视频在线观看| 日韩av电影在线网| 懂色av影视一区二区三区| 国产欧美日韩中文| 日韩电影在线观看永久视频免费网站| 久久久中文字幕| 欧美整片在线观看| 国产美女久久久| 国产美女久久精品香蕉69| 国产69精品久久久久9| 2024亚洲男人天堂| 久久久女女女女999久久| 精品福利在线看| 人人澡人人澡人人看欧美| 成人欧美在线视频| 久久久久久999| 国产伦精品一区二区三区精品视频| 一区二区三区高清国产| 国语自产偷拍精品视频偷| 亚洲精品在线91| 两个人的视频www国产精品| 日韩在线视频中文字幕| 91在线中文字幕| 国产精品入口福利| 国产精品白嫩美女在线观看| 欧美与黑人午夜性猛交久久久| 亚洲二区在线播放视频| 色综合五月天导航| 欧美一级黄色网| 91精品国产91久久久久久吃药| 亚洲精品视频网上网址在线观看| 国内揄拍国内精品少妇国语| 日韩动漫免费观看电视剧高清| 成人美女免费网站视频| 欧美激情精品久久久久久免费印度| 亚洲精品黄网在线观看| 国产成人中文字幕| 8090理伦午夜在线电影| 亚洲欧美日韩精品久久亚洲区| 亚洲人午夜精品免费| 久久免费成人精品视频| 欧美一级视频在线观看| 久久夜色精品国产欧美乱| 自拍偷拍亚洲在线| 国产最新精品视频| 欧美xxxx做受欧美| 亚洲网址你懂得| 亚洲a成v人在线观看| 国产91对白在线播放| 国产精品都在这里| 国产一区深夜福利| 亚洲乱码一区av黑人高潮| 亚洲欧美国内爽妇网| 欧美一级大片视频| 国产美女高潮久久白浆| 亚洲91精品在线观看| 亚洲伊人第一页| 日韩在线观看网址|