PHP中的會話控制(2)

2021-08-11 01:43:24 字數 2814 閱讀 9460

例:va

lue=

『som

ethi

ngfr

omso

mewh

ere′

;set

cook

ie(「

test

cook

ie」,

value);

setcookie(「testcookie」, va

lue,

time

()+3600);

/∗1小

時過期∗

/set

cook

ie(「

test

cook

ie」,

value, time()+3600, 「/~rasmus/」, 「example.com」, 1);

注意:在傳送 cookie 時,值的部分會被自動 urlencode 編碼。收到 cookie 時,會自動解碼,並賦值到可變的 cookie 名稱上。 如果不想被編碼,可以使用 setrawcookie() 代替——如果你的 php 版本是 5 及以上。 在指令碼裡檢視我們的測試 cookie 的內容,使用下面的乙個例子:

// 列印乙個單獨的 cookie

echo co

okie

[「te

stco

okie

」];/

/deb

ug/t

est查

看所有c

ooki

e的另一

種方式p

rint

r(_cookie);

(2)setrawcookie()

它不會對值進行urlencode()編碼

剩餘引數等基本和setcookie()函式一樣,詳細引數可以查詢php.net

讀取cookie

cookie資料儲存在$_cookie中

更新cookie

將之前和設定好的cookie重新命名即可

刪除cookie

注意:更新和刪除的時候需要保證pa

th和 domain和之前保持一致才可以!!!

使用header的方式操作cookie

在這裡不細說header方式

cookie儲存陣列形式的資料

//cookie儲存陣列形式的資料

setcooie(『userinfo[username]』,』csdn』,strtotime(『+7 days』));

setcookie(『userinfo[email]』,』[email protected]』,strtotime(『+7 days』));

setcookie(『userinfo[add]』,』dalian』,strtotimr(『+7 days』));

儲存了陣列資料

cookie中不要儲存敏感資訊,cookie不是很安全,擷取cookie之後可以用來cookie欺騙

不要把cookie當做客戶端儲存器來使用,首先每個網域名稱允許cookie都是有限的,而且不同瀏覽器這個限制也不同

cookie中儲存最大位元組數是4k

cookie設定之後每次都會附著在http的頭中一起傳送,浪費頻寬,現在html5有一種cookie的代替方案,也就是localstorage

·session的使用

什麼是session

$_session (和所有已註冊得變數) 將被 php 使用內建的序列化方法在請求完成時 進行序列化.序列化方法可以通過 session.serialize_handler 這個 php 配置選項中來設定乙個指定的方法.註冊的變數未定義將被標記為未定義.在併發訪問時,這些變數不會被會話模組 定義除非使用者後來定義了它們.

session的工作原理

1.準備簡介會話的時候,php會先檢視請求中是否包含session_id,如果沒有伺服器會在自己的記憶體裡建立乙個新的變數,這個變數就是session_id,例:此變數為session_1234

2.伺服器會把這個session_id傳送到瀏覽器中進行儲存,一般瀏覽器會把這個id儲存到cookie中

3.之後我的瀏覽器再去訪問伺服器的時候,都會攜帶cookie中儲存的這個session_1234,這樣伺服器就會認識這個瀏覽器了

4.伺服器端這個session_1234變數可以存放任意的會話資料,這些資料是經過序列化之後存放進去的

5.每次瀏覽器訪問伺服器,都可以憑藉自己的session_id到伺服器的這個變數中認領自己的資訊

6.如果想銷毀會話,可以刪除掉會話中的資料,銷毀會話檔案

php中如何使用session

1.開啟會話:session_start()

2.可以通過se

ssio

n來設定

相關的值

,設定以

及讀取都

要使用這

個全域性變

量3.銷毀

sess

ion:

將 session清空、將cookie中的資料清空、呼叫session_destory()來銷毀會話

傳遞session_id

唯一要注意的就是當瀏覽器cookie關閉時,要用url來傳遞session_id(不安全不建議使用)

php會話控制 2 COOKIE

php 透明地支援 http cookie,cookie 是一種在遠端瀏覽器端儲存資料並以此來跟蹤和識別使用者的機制。可以用 setcookie 或 setrawcookie 函式來設定 cookie。cookie 是 http 標頭的一部分,因此 setcookie 函式必須在其它資訊被輸出到瀏覽...

PHP會話控制

簡述 http協議是無狀態的。那個瀏覽器如何區分每個使用者呢?php會話控制會給每乙個使用者一把鑰匙 加密的session id 同時這個也是使用者的乙個標識,伺服器端存放這把鑰匙的所有資訊 資料庫 檔案 記憶體資料庫 那麼這把鑰匙放到那呢?兩種方法 1是存在每個url中 2是存在會話中,也就是常說...

PHP會話控制

區別 a 存放位置不一樣 b 安全級別不同 因為cookie是存放到客戶端上,所以cookie內容可以被修改。相對cookie是不安全。不建議將一些敏感資訊存放到cookie中。c 大小不一樣 單個cookie儲存的資料不能超過4k,很多瀏覽器都限制乙個站點最多儲存20個cookie。理論上認為se...