程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中cookie和session簡介

PHP中cookie和session簡介

編輯:PHP綜合

使用PHP進行用戶認證的方式有三種:HTTp認證、使用session、使用cookie。

使用php進行http認證:

是通過結合header()函數和PHPAUTHUSER、PHP_AUTH_pw全局變量的方法來創建的一個基本認證機制 。

一個簡單的PHP腳本可以通過發送適當的HTTP頭以在客戶機屏幕自動顯示用戶名/口令對話框以模 擬HTTP認證請求/響應系統。

<?php   
if((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW)))   
{   
header('WWW-Authenticate:Basic reallm="My Private Stuff"');   
header('HTTP/1.0 401 Unauthorized');   
echo 'Authorization Required.';   
exit;   
}   
else if((isset($PHP_AUTH_USET)) && (isset($PHP_AUTH_PW)))   
{   
if(($PHP_AUTH_USER!="validname") || ($PHP_AUTH_PW!="goodpassword"))   
{   
header('WWW-Authenticate:Basic reallm="My Private Stuff"');   
header('HTTP/1.0 401 Unauthorized');   
echo 'Authorization Required.';   
exit;   
}   
else if(($PHP_AUTH_USE=="validname") || 

($PHP_AUTH_PW=="goodpassword"))   
{   
echo 'YOu are authorized';   
}   
}   
?>

cookie是服務器在用戶的機器上存儲信息的一種方式。利用這種方式,站點可以在訪問期間記住或 跟蹤用戶。

 Cookie的配置與應用:

cookie通過HTTP  Headers從服務器端返回到浏覽器上,首先,服務器端在響應中利用Set- cookie header來創建一個cookie,然後,浏覽器在它的請求中通過cookie header(包含這個已經創 建的cookie),並且返回至服務器,從而完成浏覽器的驗證。

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

其中name是cookie變量名稱標識,你在php中將能象使用普通變量名相同來用他引用cookie變量。 value是cookie變量的初始值,expire 表示該cookie變量的有效時間;path 為該cookie變量的相關路 徑;domain 表示cookie變量的網站;secure 則需在 https 的安全傳輸時才有效。

接收和處理Cookie

PHP對Cookie的接收和處理的支持非常好,是完全自動的,跟FORM變量的原則一樣,特別簡單。

比如設置一個名為 MyCookier的Cookie,PHP會自動從WEB服務器接收的HTTP頭裡把它分析出來,並 形成一個與普通變量一樣的變量,名為myCookie,這個變量的值就是Cookie的值。數組同樣適用。另 外一個辦法是引用PHP的全局變量HTTP_COOKIE_VARS數組。

分別舉例如下:(假設這些都在以前的頁面裡設置過了,並且仍然有效)

echo $MyCookie;   
echo $CookieArray[0];   
echo $_COOKIE["MyCookie"];   
echo $HTTP_COOKIE_VARS["MyCookie"];

刪除Cookie

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

SetCookie("Cookie", ""); //給它賦空值
SetCookie("Cookie", "value" , time()-1 / time() );//設置過期時間

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved