




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7章 Cookie與Session在Web系統(tǒng)中,常常需要記錄用戶的有關(guān)信息,以供用戶再次以此身份對(duì)Web服務(wù)器提起請(qǐng)求時(shí)進(jìn)行確認(rèn)。在PHP中,通常采用的方式就是使用Cookie或Session來保存用戶信息。7.1 CookieCookie是一種在遠(yuǎn)程瀏覽器端儲(chǔ)存數(shù)據(jù)并以此來跟蹤和識(shí)別用戶的機(jī)制。當(dāng)相同的計(jì)算機(jī)通過瀏覽器請(qǐng)求一個(gè)頁面時(shí),原先存儲(chǔ)的cookie也會(huì)發(fā)送到服務(wù)器。由于Cookie是保存在客戶端的,因此可以隨意的設(shè)置Cookie的保存時(shí)間。為了能夠永久的保持用戶信息,使用Cookie是最為便捷的方式。7.2 Cookie操作Cookie可用于使用保存用戶狀態(tài)。在PHP中,可直接對(duì)
2、Cookie進(jìn)行操作,例如將狀態(tài)信息寫入Cookie、從Cookie讀取狀態(tài)信息、設(shè)置用戶狀態(tài)等信息的保存時(shí)間等操作。這一節(jié)將對(duì)Cookie的操作作詳細(xì)的講解。7.2.1 設(shè)置Cookie在PHP中,對(duì)Cookie的操作基本都是通過setcookie函數(shù)實(shí)現(xiàn)的。其語法格式如下所示。bool setcookie(string $name, string $value, int $expire, string $path, string $domain, bool $secure, bool $httponly)7.2.2 訪問Cookie設(shè)置的Cookie在其有效期內(nèi)均可直接進(jìn)行訪問。一個(gè)瀏覽器
3、能創(chuàng)建的cookie數(shù)量最多為30個(gè),并且每一個(gè)不能超過4kb,每個(gè)web站點(diǎn)所能設(shè)置的cookie總數(shù)不能超過20個(gè)。應(yīng)用了cookie數(shù)組$_COOKIEstring $name;7.2.3 刪除Cookie對(duì)于已設(shè)置的Cookie,可直接進(jìn)行刪除。刪除Cookie使用一個(gè)空值Cookie即可實(shí)現(xiàn),即在調(diào)用setcookie函數(shù)時(shí)不指定屬性value的值。Setcookie(“testCookie”);Setcookie(“testTimeCookie”);7.2.4 Cookie全局?jǐn)?shù)組在PHP中,提供了一個(gè)全局?jǐn)?shù)組$_COOKIE用于存儲(chǔ)PHP的Cookie變量。系統(tǒng)所有的Cookie
4、都保存在這個(gè)全局?jǐn)?shù)組中。設(shè)置Cookie就是把所有的Cookie都以值對(duì)的形式存入該數(shù)組。訪問Cookie實(shí)質(zhì)就是訪問該全局?jǐn)?shù)組。刪除指定的Cookie就是從該數(shù)組中將指定Cookie的值刪除。7.2.5 Cookie的例子首先設(shè)置一個(gè)cookieSetcookie(“pass”,”ok”);Setcookie(“user”,”gjy”);然后我們會(huì)得到cookie里的值$_COOKIE pass;$_COOKIE user;7.3 SessionSession是保存用戶信息另一種方式。它將用戶信息以文件的形式存儲(chǔ)在服務(wù)器,然后通過客戶端提交的session_id識(shí)別客戶端的信息。使用該方式,
5、訪問網(wǎng)站的每一位來客將會(huì)被分配一個(gè)唯一的標(biāo)識(shí)符,即所謂的SessionID。它可以存放在客戶端的Cookie中,也可以經(jīng)由URL進(jìn)行傳遞。7.4 Session操作與Cookie一樣,在PHP中一樣可以直接對(duì)Session進(jìn)行操作。例如設(shè)置Session的存儲(chǔ)位置、檢測(cè)變量是否在Session注冊(cè)、設(shè)置Session的生命周期等操作。這一節(jié)將詳細(xì)講解在PHP中如何對(duì)Session進(jìn)行相關(guān)操作。7.4.1 開始使用Session如果使用了Seesion,或者在PHP文件要使用Session 變量,那么就必須在調(diào)用之前啟動(dòng)Session。啟動(dòng)Session只需要在PHP腳本中使用session_s
6、tart()函數(shù)。其它的都不需要進(jìn)行設(shè)置了,PHP將自動(dòng)完成Session文件的創(chuàng)建。該函數(shù)語法格式如下所示。bool session_start(void)7.4.2 Session檢測(cè)與注銷對(duì)于存儲(chǔ)在Session中的變量,可使用isset函數(shù)進(jìn)行檢測(cè),該函數(shù)語法形式如下所示。bool isset(mixed $var, mixed $var, $.)Isset($a)當(dāng)需要將已經(jīng)注冊(cè)的session進(jìn)行注銷,可以用函數(shù)unset。其語法格式如下所示:Void unset(mixed $var,mixed $var,$.)Unset($a)7.4.3 Session全局?jǐn)?shù)組與Cookie類
7、似,PHP提供了一個(gè)超全局?jǐn)?shù)組用于存儲(chǔ)所有的Session數(shù)據(jù)。系統(tǒng)所有的Session都保存在這個(gè)超全局?jǐn)?shù)組中。設(shè)置Session就是把所有的Session都以值對(duì)的形式存入該數(shù)組。訪問Session實(shí)質(zhì)就是訪問該全局?jǐn)?shù)組。注銷指定的Session就是從該數(shù)組中將指定Session的值刪除。7.5 Session例子首先我們要開啟sessionSession_start();/必須放在一個(gè)網(wǎng)頁的頭部$_SESSIONname=$username;進(jìn)行傳遞得到session中的值$user=$_SESSIONname;7.6 兩者的區(qū)別1、cookie數(shù)據(jù)存放在客戶的瀏覽器上, session
8、數(shù)據(jù)放在服務(wù)器上 。2、cookie不是很安全,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙 ,考慮到安全應(yīng)當(dāng)使用session 。3、session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會(huì)比較占用你服務(wù)器的性能 ,考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用cookie。4、一個(gè)瀏覽器能創(chuàng)建的cookie數(shù)量最多為30個(gè),并且每一個(gè)不能超過4kb,每個(gè)web站點(diǎn)所能設(shè)置的cookie總數(shù)不能超過20個(gè)。5、總而言之,二者皆有利弊: session在服務(wù)器端存儲(chǔ),安全性應(yīng)該不成問題,但占用了系統(tǒng)資源 cookie在客戶端存儲(chǔ),安全性較差,有被篡改欺騙的可能,可通過blowfish或xxtea等算法加密來彌補(bǔ) 7.7 小結(jié)本章介紹
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 自然語言理解框架-深度研究
- 網(wǎng)絡(luò)隔離與安全域劃分-深度研究
- 純合子遺傳變異研究-深度研究
- 果汁濃縮提取工藝優(yōu)化-深度研究
- 記事本界面交互優(yōu)化-深度研究
- 稀土元素生態(tài)毒理學(xué)-深度研究
- 量子引力與霍金輻射-深度研究
- 山東水利職業(yè)學(xué)院《篆書理論與技法I》2023-2024學(xué)年第二學(xué)期期末試卷
- 肇慶學(xué)院《自然辯證法概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 池州學(xué)院《化工原理I》2023-2024學(xué)年第二學(xué)期期末試卷
- 排洪渠施工施工方法
- 冀教版數(shù)學(xué)七年級(jí)上下冊(cè)知識(shí)點(diǎn)總結(jié)
- 2024廣東省深圳市寶安區(qū)中考初三二模英語試題及答案
- 2021年山西省文化旅游投資控股集團(tuán)公司組織架構(gòu)和部門職能
- 《工程勘察資質(zhì)分級(jí)標(biāo)準(zhǔn)和工程設(shè)計(jì)資質(zhì)分級(jí)標(biāo)準(zhǔn)》
- 駐場(chǎng)人員服務(wù)方案
- 《老年日常生活照料》課件-協(xié)助老年人進(jìn)食進(jìn)水
- (高清版)DZT 0130.6-2006 地質(zhì)礦產(chǎn)實(shí)驗(yàn)室測(cè)試質(zhì)量管理規(guī)范 第6部分:水樣分析
- 消防安全評(píng)估消防安全評(píng)估方案
- 醫(yī)療行業(yè)的病人隱私保護(hù)培訓(xùn)
- 第1課 精美絕倫的傳統(tǒng)工藝 課件 2023-2024學(xué)年贛美版初中美術(shù)八年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論