超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

PHP 之Section與Cookie使用總結(jié)

admin
2012年11月26日 1:24 本文熱度 4368

SESSION與COOKIE區(qū)別:


  Session 將信息保存在服務(wù)器上.服務(wù)器在接受到唯一的SESSION_ID后,根據(jù)這個(gè)ID獲取相關(guān)數(shù)據(jù),然后將信息傳遞到客戶端(瀏覽器).
  Cookie 是將所有信息以文本的形式存在本地文件,并由客戶端(瀏覽器)進(jìn)行管理與維護(hù).
因?yàn)镾ession 數(shù)據(jù)存儲(chǔ)在server端,所以遠(yuǎn)程client無(wú)法對(duì)數(shù)據(jù)進(jìn)行修改;而Cookie存儲(chǔ)在client本地,容易被獲取和篡改.所以Session安全性較高.


SESSION 介紹:


  PHP5 后session被設(shè)置為全局變量,可以通過(guò) $_SESSION[session_id] 來(lái)獲取.當(dāng)頁(yè)面啟動(dòng)SESSION會(huì)話,會(huì)在服務(wù)器中生成一個(gè)帶唯一id的SESSION,這個(gè)SESSION在生命周期結(jié)束前一直有效.當(dāng)關(guān)閉網(wǎng)頁(yè)或結(jié)束生命周期后,session會(huì)在服務(wù)器中自動(dòng)注銷.


創(chuàng)建一個(gè)session 會(huì)話需要經(jīng)過(guò)一下4個(gè)步驟:


  a)啟動(dòng)會(huì)話..
    方法有2種: bool session_star(); boolean session_register(string name);
  b)注冊(cè)回話.
    會(huì)話變量被啟動(dòng)后,全部保全在$_SESSION數(shù)組當(dāng)中.通過(guò)數(shù)組$_SESSION創(chuàng)建一個(gè)會(huì)話變量很簡(jiǎn)單,只需要給該數(shù)組添加一個(gè)變量即可.
  c)使用會(huì)話:
    一般操作:判斷對(duì)應(yīng)session_id的SESSION是否存在.不存在創(chuàng)建一個(gè),存在 則通過(guò) $_SESSION[session_id] 使用.
  d)刪除會(huì)話.
unset($_SESSION[session_id]);//刪除單個(gè).
    unset([$_SESSION]);//刪除整個(gè),將禁止整個(gè)會(huì)話功能,切無(wú)法恢復(fù).
   $__SESSION=array();//刪除整個(gè),可恢復(fù).
   session_destroy();//結(jié)束當(dāng)前會(huì)話..


SESSION的生命周期:


  1.控制session 生命周期的方法:
   一. 前提條件:客戶端支持COOKIE!
    方法:
      a>通過(guò)Session來(lái)完成.
         void session_set_cookie_params(int lifetime[,string path][,string domain][,bool secure]);
         bool setcookie(string name [,string value] [,int expire] [,string path] [,sting domain] [,secure]);
      b>通過(guò)Cookie 來(lái)完成.
二. 前提條件:客戶端不支持COOKIE!
     一旦客戶端不支持cookie,SESSION就不能在頁(yè)面間傳遞,解決辦法:
     a>.在登陸前提示用戶打開(kāi)cookie.
     b>.表單POST/GET方式,來(lái)傳遞SESSION_ID.


     c>.設(shè)置php.ini文件中的session.use_trans_sid=1 或編譯時(shí)打開(kāi)-enable-trans-sid;
     d>.通過(guò)文件或數(shù)據(jù)庫(kù)方式傳遞SESSION_ID;


服務(wù)器上對(duì)SESSION性能優(yōu)化:
  在服務(wù)器中,如果將所有用戶的session都保存到臨時(shí)目錄中,會(huì)降低服務(wù)器的安全性與效率.
  解決方法:將SESSION存儲(chǔ)到服務(wù)器上的數(shù)據(jù)庫(kù)或者臨時(shí)文件中.
  臨時(shí)文件:
    string session_save_path(string path);
  數(shù)據(jù)庫(kù):
    session 存儲(chǔ)在臨時(shí)文件時(shí),當(dāng)網(wǎng)站瀏覽量很大的時(shí)候,將會(huì)導(dǎo)致查詢Session的效率很低,推薦數(shù)據(jù)庫(kù)存儲(chǔ)形式.
    bool session_set_save_handler(string open,string close,string read,string write,string destroy,string gc);//將session_id 存儲(chǔ)與數(shù)據(jù)庫(kù)中的函數(shù).


SESSION 緩存:


  緩存即將頁(yè)面中的某些信息存儲(chǔ)到客戶端指定的文件夾中,且可以設(shè)置一定的有效時(shí)間.(已經(jīng)經(jīng)過(guò)第一次訪問(wèn),且存儲(chǔ))在這個(gè)有效時(shí)間內(nèi),當(dāng)再次訪問(wèn)頁(yè)面,則可直接從緩存中讀取內(nèi)容,從而提高頁(yè)面瀏覽效率.


  string session_cache_limiter(string cache_limiter); //緩存函數(shù).
  int session_cache_expire([int new cache_expire]); //有效時(shí)間.


COOKIE介紹:


  cookie 是一種遠(yuǎn)程客戶端存儲(chǔ)數(shù)據(jù)和跟蹤識(shí)別用戶的機(jī)制.是服務(wù)器臨時(shí)存放數(shù)據(jù)在本地用戶的一個(gè)文本文件.文本文件格式:"用戶名@網(wǎng)站地址[數(shù)字].txt"


COOKIE 常見(jiàn)功能:


  a)記錄訪客的某些信息. b)在頁(yè)面間傳遞變量; c)將頁(yè)面內(nèi)容存儲(chǔ)到cookie中提高下次訪問(wèn)速度.
慎用COOKIE:
  a)不是所有的瀏覽器都支持cookie.
  b)數(shù)據(jù)是以明文的方式保存在本地,不適合敏感的信息,未加密的信息.
  c)不同類型瀏覽器對(duì)cookie 文件有大小,個(gè)數(shù)限制:比如最多只能存300個(gè)cookie 文件,每個(gè)大小不超過(guò)4KB,每個(gè)域名最多支持20個(gè)cookie文件.如果超過(guò)顯示,會(huì)隨機(jī)刪除.
創(chuàng)建COOKIE:
  bool setcookie(string name [,string value] [,int expire] [,string path] [,sting domain] [,secure]);
讀取COOKIE:
  $_COOKIE[];
刪除COOKIE:
  a). setcookie("id", "",time()-1);//值為空,有效時(shí)間小于當(dāng)前時(shí)間.0為直接刪除COOKIE.
  b).手動(dòng)刪除.在客戶端找到臨時(shí)存放cookie的文件.


setcookie()函數(shù)后,要執(zhí)行刷新,cookie才能取得數(shù)據(jù):
  個(gè)人理解是因?yàn)閟ession 跟cookie都是在client 跟server之間傳輸,在頁(yè)面顯示前,我們就必須獲取到相應(yīng)的數(shù)據(jù).所以一般是在獲取 http:// 或https://時(shí)必須帶上session 或cookie..當(dāng)在執(zhí)行setcookie()時(shí),僅僅在本地存儲(chǔ)了cookie 但是地址上并沒(méi)有帶上cookie..因而需要刷新,讓服務(wù)器給地址協(xié)議帶上cookie發(fā)送個(gè)客戶端,這樣才能取得到值..


  正是以上session_star(),setcookie()前,html頁(yè)面不能有輸出...所以說(shuō)cookie 或者session認(rèn)第一,就沒(méi)人敢認(rèn)第二.


該文章在 2012/11/26 1:24:55 編輯過(guò)
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved