php中session和cookie的使用及區別

PHP 瀏覽器 HTML 電腦 網景 php簡說 2019-07-10
php中session和cookie的使用及區別

1.cookie的使用

什麼是 Cookie?

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

如何創建 cookie?

setcookie() 函數用於設置 cookie。setcookie(name, value, expire, path, domain); //setcookie("user", "Alex Porter", time()+3600);

註釋:setcookie() 函數必須位於 <html> 標籤之前。

如何取回 Cookie 的值?

$_COOKIE 變量用於取回 cookie 的值。

使用 isset() 函數來確認是否已設置了 cookie:

如何刪除 cookie?

當刪除 cookie 時,您應當使過期日期變更為過去的時間點。//setcookie("user", "", time()-3600);

2.session的使用

如何創建 session?

session_start() 函數啟動會話。

存儲 Session 變量

$_SESSION 變量賦值

isset() 函數檢測是否已設置

終結 Session

如果您希望刪除某些 session 數據,可以使用 unset() 或 session_destroy() 函數。註釋:session_destroy() 將重置 session,您將失去所有已存儲的 session 數據。

3.它們之間的區別

Session保留在服務器端,給每個客戶分配一個唯一的數字,作為每個客戶的標識,

Cookies是保留在客戶端的,每次發出頁面請求時,都會把裡面的數據發送給服務器端.

Cookies適合做保存用戶的個人設置,愛好等,Session適合做客戶的身份驗證.

session保存在服務器,客戶端不知道其中的信息;cookie保存在客戶端,服務器能夠知道其中的信息。

session中保存的是對象,cookie中保存的是字符串。

session不能區分路徑,同一個用戶在訪問一個網站期間,所有的session在任何一個地方都可以訪問到。而cookie中如果設置了路徑參數,那麼同一個網站中不同路徑下的cookie互相是訪問不到的。

session需要藉助cookie才能正常工作。如果客戶端完全禁止cookie,session將失效。

兩個都可以用來存私密的東西,同樣也都有有效期的說法。

session是放在服務器上的,過期與否取決於服務期的設定,cookie是存在客戶端的,過期與否可以在cookie生成的時候設置進去。

cookie 也可以設置成關閉瀏覽器既消失.

cookie數據存放在客戶的瀏覽器上,session數據放在服務器上

cookie不是很安全,別人可以分析存放在本地的COOKIE並進行COOKIE欺騙,考慮到安全應當使用session

session會在一定時間內保存在服務器上。當訪問增多,會比較佔用你服務器的性能,考慮到減輕服務器性能方面,應當使用COOKIE

單個cookie在客戶端的限制是3K,就是說一個站點在客戶端存放的COOKIE不能超過3K。

一個web站點向客戶端發送的cookie不得超過20個,

一個瀏覽器能創建的Cookie數量最多為30個,並且每個不能超過4KB

其次不同的瀏覽器對Cookie的處理不一致,且有時會出現錯誤的結果。比如:MS IE+SERVICE PACK 1

不能正確處理帶域名和路徑的Cookie ,Netscape Communicator 4.05和MS IE 3.0不能正確處理不帶路徑和

時間的Cookie。至於MS IE 5 好象不能處理帶域名、路徑和時間的Cookie。 一般做用戶登陸用session

存放用戶其他信息可以用cookie,比如一個網上商城沒有會員系統的話,可以有cookie來存放他放到購物車裡的東西.

相關推薦

推薦中...