版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
7.1cookie技術(shù)陳學(xué)平CONTENTS1cookie技術(shù)1.1php中Cookie的功能和用途Cookie的功能Cookie應(yīng)用范圍Cookie有哪些用途呢?1.3php中如何讀取Cookie目錄011cookie技術(shù)021.1php中Cookie的功能和用途03Cookie的功能Cookie的功能Cookie是由服務(wù)器端生成,發(fā)送給User-Agent(一般是瀏覽器),瀏覽器會(huì)將Cookie的key/value保存到某個(gè)目錄下的文本文件內(nèi),下次請(qǐng)求同一網(wǎng)站時(shí)就發(fā)送該Cookie給服務(wù)器(前提是瀏覽器設(shè)置為啟用cookie)。04Cookie應(yīng)用范圍Cookie應(yīng)用范圍Cookie常用于以下的3個(gè)方面:記錄訪客的某些信息。如可以利用Cookie記錄用戶訪問網(wǎng)頁的次數(shù),或者記錄方可曾經(jīng)輸入過的信息。另外,某些網(wǎng)站可以使用Cookie自動(dòng)記錄訪客上次登錄的用戶名。在頁面之間傳遞變量。瀏覽器并不會(huì)保存當(dāng)前頁面上的任何變量信息,當(dāng)頁面被關(guān)閉時(shí)頁面上的所有變量信息將隨之消失。如果用戶聲明一個(gè)變量id=6,要把這個(gè)變量傳遞到另一個(gè)頁面,可以把變量id以Cookie形式保存下來,然后在下一頁通過讀取該Cookie來獲取該變量的值。將所查看的Internet頁存儲(chǔ)在Cookie臨時(shí)文件中,可以提高以后瀏覽的速度。Cookie應(yīng)用范圍注意:一般不要用Cookie保存數(shù)據(jù)集或其他大量的數(shù)據(jù)。并非所有的瀏覽器都支持Cookie,并且數(shù)據(jù)信息是以明文文本的形式保存在客戶端計(jì)算機(jī)中,因此最好不要保存敏感的、未加密的數(shù)據(jù),否則會(huì)影響網(wǎng)絡(luò)的安全性。05Cookie有哪些用途呢?Cookie有哪些用途呢?最根本的用途是Cookie能夠幫助Web站點(diǎn)保存有關(guān)訪問者的信息。Cookie的作用就類似于名片,它提供了相關(guān)的標(biāo)識(shí)信息,可以幫助應(yīng)用程序確定如何繼續(xù)執(zhí)行。使用Cookie能夠達(dá)到多種目的,所有這些目的都是為了使Web站點(diǎn)記住訪問信息。例如,一個(gè)實(shí)施民意測(cè)驗(yàn)的站點(diǎn)可以簡(jiǎn)單地利用Cookie作為布爾值,表示訪問的瀏覽器是否已經(jīng)參與了投票,從而避免重復(fù)投票;而那些要求用戶登錄的站點(diǎn)則可以通過Cookie來確定訪問者是否已經(jīng)登錄過,這樣就不必每次都輸入憑據(jù)。1.2php中如何創(chuàng)建CookieCookie的創(chuàng)建十分簡(jiǎn)單,只要用戶的瀏覽器支持Cookie功能,就可以使用PHP內(nèi)建的函數(shù)來建立一個(gè)新的Cookie。在PHP中通過setcookie()函數(shù)創(chuàng)建Cookie。在創(chuàng)建Cookie之前必須了解的是,Cookie是HTTP頭標(biāo)的組成部分,而頭標(biāo)必須在頁面其他內(nèi)容之前發(fā)送,因此它必須最先輸出。所以即使是空格或者是空行,都不要在調(diào)用setcookie()函數(shù)之前輸出。若在setcookie()函數(shù)前輸出一個(gè)HTML標(biāo)記、echo語句,甚至一個(gè)空行都會(huì)導(dǎo)致程序出錯(cuò)。其語法是如下的格式:1.2php中如何創(chuàng)建Cookiesetcookie()函數(shù)定義一個(gè)和其余的HTTP標(biāo)頭一起發(fā)送的Cookie,它的所有參數(shù)是對(duì)應(yīng)HTTP標(biāo)頭Cookie資料的屬性。setcookie()函數(shù)的導(dǎo)入?yún)?shù)看起來不少,但除了參數(shù)name,其他參數(shù)都是非必須的,而經(jīng)常使用的只有$name,$value和$expire這三個(gè)參數(shù)。setcookie()函數(shù)的參數(shù)說明如下:nameCookie的變量名可以通過$_COOKIE["cookiename"]調(diào)用變量名為cookiename的CookievalueCookie變量的值,該值保存在客戶端,不能用來保存敏感數(shù)據(jù)可以通過$_COOKIE["values"]獲取名為values的值expireCookie的失效時(shí)間,expire是標(biāo)準(zhǔn)的UNIX時(shí)間標(biāo)記,可以用time()函數(shù)或者mktime()函數(shù)獲取,單位為秒如果不設(shè)置Cookie的失效時(shí)間,那么Cookie將永遠(yuǎn)有效,除非手動(dòng)將其刪除pathCookie在服務(wù)端的有效路徑如果該參數(shù)設(shè)置成“/”,則它在整個(gè)domain內(nèi)有效,如果設(shè)置為“/11”,它在domain下的/11目錄及子目錄內(nèi)有效。默認(rèn)是當(dāng)前目錄domainCookie有效地域名如果要使Cookie在域名下的所有子域名都有效,應(yīng)該設(shè)置為(6))secure指明Cookie是否通過安全的HTTPS,值為0或1如果值為1,則Cookie只能在HTTPS連接上有效;如果值為默認(rèn)值0,則Cookie在HTTP和HTTPS連接上均有效。如果只有$name這一個(gè)參數(shù),則原有此名稱的cookie選項(xiàng)將會(huì)被刪除,也可以使用空字符串來省略此參數(shù)。參數(shù)$expire和$secure是一個(gè)整數(shù),可以使用0來省略此參數(shù),而不是使用空字符串。但參數(shù)$expire是一個(gè)正規(guī)的UNIX時(shí)間整數(shù),由time()或者mktime()函數(shù)傳回。參數(shù)$secure指出此Cookie將只有在安全的HTTPS連接時(shí)傳送。domain使用setcookie()函數(shù)的全部參數(shù)設(shè)置,實(shí)例代碼如下的顯示說明:上例中表示建立一個(gè)識(shí)別名稱為“username”的Cookie,其內(nèi)容值為字符串“sky”,而在客戶端的存儲(chǔ)有效期為1小時(shí)。參數(shù)"/test"表示Cookie只有在故武器的這個(gè)子目錄或子目錄中有效。參數(shù)"."使Cookie能在如域名下的所有子域中都有效,雖然“.”并不是必需的,但加上它會(huì)兼容更多的瀏覽器。當(dāng)最后一個(gè)參數(shù)設(shè)為1時(shí),則Cookie僅在安全的連接中才能被設(shè)置。使用setcookie()給的值只能是數(shù)字或者字符串,不能是其他的復(fù)雜結(jié)構(gòu)。061.3php中如何讀取Cookie1.3php中如何讀取Cookie如果Cookie設(shè)置成功,客戶端就擁有了Cookie文件,用來保存Web服務(wù)器為期設(shè)置的用戶信息。在客戶端使用了Windows系統(tǒng)去瀏覽服務(wù)器中的腳本,Cookie文件會(huì)被存放在“C:\DocumentsandSettings\用戶名\Cookies”文件夾下。從PHP5之后,任何從客戶端發(fā)送過來的Cookie信息,都會(huì)被自動(dòng)保存在$_COOKIE全局?jǐn)?shù)組中,所以在每個(gè)PHP腳本中都可以從該數(shù)組中讀取相應(yīng)的Cookie信息。$_COOKIE全局?jǐn)?shù)組存儲(chǔ)所有通過HTTP傳遞的Cookie資料內(nèi)容,并以Cookie的識(shí)別名稱為索引值、內(nèi)容值為元素。1.3php中如何讀取Cookie在設(shè)置Cookie腳本中,第一次讀取它的信息并不會(huì)生效,必須刷新或到下一個(gè)頁面才可以看到Cookie值,因?yàn)镃ookie要先被設(shè)置到客戶端,再次訪問時(shí)才能被發(fā)送過來,這是才能被獲取。所以要測(cè)試一個(gè)Cookie是否被成功設(shè)定,可以再其到期之前通過另外一個(gè)頁面來訪問其的值。在PHP中可以直接通過超全局變量數(shù)組$_COOKIE[]來讀取瀏覽器端的Cookie值。實(shí)例1使用$_COOKIE[]讀取瀏覽器端的Cookie實(shí)例代碼如下:代碼如下所示:1.3php中如何讀取Cookie在上面的代碼中,首先使用isset()函數(shù)檢測(cè)Cookie文件是否存在。如果不存在,則使用setcookie()函數(shù)創(chuàng)建一個(gè)Cookie,并輸出相應(yīng)的字符串;如果Cookie文件存在,則使用setcookie()函數(shù)設(shè)置文件失效的時(shí)間,并輸出用戶上次訪問網(wǎng)站的時(shí)間,最后在頁面輸出本次方位網(wǎng)站的當(dāng)前時(shí)間。首次運(yùn)行實(shí)例時(shí),由于沒有檢測(cè)到Cookie文件,運(yùn)行結(jié)果如下所示:第一次訪問本次訪問的時(shí)間為:19-05-2721:48:58如果用戶在Cookie設(shè)置失效的時(shí)間(上面的實(shí)例為60秒)前刷新或者再次訪問該網(wǎng)頁,運(yùn)行結(jié)果如下:1.3php中如何讀取Co
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年汽車銷售公司售后服務(wù)保障合同3篇
- 2024年科技創(chuàng)新項(xiàng)目贊助合同3篇
- 2025下半年浙江麗水市青田縣招聘國企業(yè)工作人員及人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年廣西玉林市殘疾人聯(lián)合會(huì)直屬事業(yè)單位市殘疾人康復(fù)中心招聘5人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省雅安市級(jí)事業(yè)單位招聘117人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川省內(nèi)江威遠(yuǎn)縣鎮(zhèn)屬事業(yè)單位專項(xiàng)招聘5人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年四川南充市順慶區(qū)事業(yè)單位招聘22人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上海科學(xué)技術(shù)交流中心工作人員公開招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年陜西省寶雞市事業(yè)單位歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025上半年浙江省舟山廣播電視總臺(tái)招聘事業(yè)單位人員13人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年度醫(yī)院各科室醫(yī)務(wù)人員述職報(bào)告之皮膚科課件
- 《急性心梗的自救》課件
- 2024烘焙課件全新
- 中成藥手冊(cè)完整版本
- 《大學(xué)生兼職利弊》課件
- 安全評(píng)價(jià)課程設(shè)計(jì)
- 學(xué)歷提升培訓(xùn)課件
- 唐山路北區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)檢測(cè)卷(含答案)
- 臨床輸血與檢驗(yàn)課件
- 企業(yè)管理的決策與解決問題
-
評(píng)論
0/150
提交評(píng)論