




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第12章 用Cookie保存登錄信息,主講:朱會(huì)東 E-Mail:,本課教學(xué)內(nèi)容,認(rèn)識(shí)Cookie Cookie的應(yīng)用 Coolie安全,12.1 認(rèn)識(shí)Cookie,Cookie 是一個(gè)小的文本數(shù)據(jù),由服務(wù)器端生成,發(fā)送給客戶端瀏覽器,客戶端瀏覽器如果設(shè)置為啟用 Cookie,則會(huì)將這個(gè)小文本數(shù)據(jù)保存到某個(gè)目錄下的文本文件內(nèi)。下次登錄同一網(wǎng)站,客戶端瀏覽器則會(huì)自動(dòng)將Cookie 讀入之后,傳給服務(wù)器端。一般情下,Cookie 中的值是以 key-value 的形式進(jìn)行表達(dá)的,Cookie示意圖,5,Cookie中的主要方法,Cookie中的主要方法,12.1.2 如何將Cookie寫入客戶端,
2、創(chuàng)建Cookie Cookie是由Javax.servlet.http.Cookie類所衍生出來(lái)的對(duì)象,建立Cookie的語(yǔ)法如下: Cookie objCookie = new Cookie(indexValue,stringValue) 從上面的語(yǔ)法中可以看出,一個(gè)Cookie對(duì)象必須包含有一個(gè)特定的indexValue索引值與字符串類型的數(shù)據(jù)內(nèi)容stringValue。例如: Cookie c = new Cookie(mycookie,Cookie Test);,12.1.2 如何將Cookie寫入客戶端,建立了Cookie之后,該Cookie數(shù)據(jù)還必須傳送到客戶端在JSP編程中,利用
3、response對(duì)象,通過(guò)addCookie方法將Cookie寫入客戶端。語(yǔ)法如下: response.addCookie(cookie); 例如: ,12.1.2 如何將Cookie寫入客戶端,Cookie 操作主要用到以下幾個(gè)方法: response.addCookie(Cookie c):通過(guò)該方法,將 Cookie 寫入客戶端 Cookie.setMaxAge(int second):通過(guò)該方法,設(shè)置 Cookie 的存活時(shí)間。參數(shù)表示存活,12.1.3 如何讀取客戶端的Cookie,將Cookie保存到客戶端,就是為了以后得到其中保存的數(shù)據(jù)。調(diào)用HttpServletRequest的
4、getCookies得到一個(gè)Cookie對(duì)象的數(shù)組 語(yǔ)法如下: Cookie 數(shù)組變量名request.getCookies(); 在客戶端傳來(lái)的Cookie數(shù)據(jù)類型都是數(shù)組類型,因此要得到其中某一項(xiàng)指定的Cookie對(duì)象,需要遍歷數(shù)組來(lái)找。,12.1.3 如何讀取客戶端的Cookie,); %,幾個(gè)操作Cookie的常用方法,1. 設(shè)置Cookie的存在期限 Cookie在生成時(shí)就會(huì)被指定一個(gè)Expire值,這就是Cookie的生存周期,在這個(gè)周期內(nèi)Cookie有效,超出周期Cookie就會(huì)被清除。有些頁(yè)面將Cookie的生存周期設(shè)置為0或負(fù)值,這樣在關(guān)閉頁(yè)面時(shí),就馬上清除Cookie,不會(huì)
5、記錄用戶信息,更加安全。在默認(rèn)情況下,Cookie是隨著用戶關(guān)閉瀏覽器而自動(dòng)消失的,不過(guò),Cookie也可以設(shè)置其存在的期限,讓用戶下次在打開網(wǎng)頁(yè)時(shí),服務(wù)器端仍然能夠取得同樣一個(gè)Cookie中的數(shù)據(jù)內(nèi)容。,幾個(gè)操作Cookie的常用方法,設(shè)置Cookie變量的有效周期的語(yǔ)法如下: Cookie 變量名稱.setMaxAge(有效周期); 有效周期的時(shí)間以秒為單位,時(shí)間設(shè)置越大,表示Cookie對(duì)象的有效時(shí)間越長(zhǎng)。 ,自動(dòng)保存的Cookie import javax.servlet.http.*; public class LongLivedCookie extends Cookie publi
6、c static final int SECONDS_PER_YEAR = 60*60*24*365; public LongLivedCookie(String name, String value) super(name, value); setMaxAge(SECONDS_PER_YEAR); ,幾個(gè)操作Cookie的常用方法,2. 刪除Cookie Cookie killMyCookie = new Cookie(mycookie, null); killMyCookie.setMaxAge(0); killMyCookie.setPath(/); response.addCookie
7、(killMyCookie);,幾個(gè)操作Cookie的常用方法,3.獲取指定名字的Cookie值 public static String getCookieValue(Cookie cookies, String cookieName, String defaultValue) for(int i=0; icookies.length; i+) Cookie cookie = cookiesi; if (cookieName.equals(cookie.getName() return(cookie.getValue(); return(defaultValue); ,幾個(gè)操作Cookie的
8、常用方法,12.2 Cookie的應(yīng)用,Cookie 在 Web 編程中應(yīng)用很廣的原因: Cookie 的值能夠持久化,即使客戶端機(jī)器關(guān)閉,下次打開還是可以得到里面的值 Cookie 可以幫助服務(wù)器端保存多個(gè)狀態(tài)信息,但是不用服務(wù)器端專門分配存儲(chǔ)資源 Cookie 可以持久保持一些和客戶相關(guān)的信息,12.2 Cookie的應(yīng)用,Cookie的常見用途如: (1)用Cookie實(shí)現(xiàn)自動(dòng)登錄 (2)用Cookie實(shí)現(xiàn)頁(yè)間傳值 (3)用Cookie保存客戶個(gè)性化信息 (4)用Cookie實(shí)現(xiàn)網(wǎng)站瀏覽人數(shù)管理 (5)在電子商務(wù)站點(diǎn)中實(shí)現(xiàn)諸如“購(gòu)物車”等功能,12.2 Cookie的應(yīng)用,Cookies
9、給網(wǎng)站和用戶帶來(lái)的好處非常多: Cookie能使站點(diǎn)跟蹤特定訪問(wèn)者的訪問(wèn)次數(shù)、最后訪問(wèn)時(shí)間和訪問(wèn)者進(jìn)入站點(diǎn)的路徑。 Cookie能告訴在線廣告商廣告被點(diǎn)擊的次數(shù) ,從而可以更精確的投放廣告。 Cookie有效期限未到時(shí),Cookie能使用戶在不鍵入密碼和用戶名的情況下進(jìn)入曾經(jīng)瀏覽過(guò)的一些站點(diǎn)。 Cookie能幫助站點(diǎn)統(tǒng)計(jì)用戶個(gè)人資料以實(shí)現(xiàn)各種各樣的個(gè)性化服務(wù)。,12.3 Cookie的安全,盜取的方法: 利用跨站腳本技術(shù),將信息發(fā)給目標(biāo)服務(wù)器;為了隱藏 URL,甚至可以結(jié)合 Ajax(異步 Javascript 和 XML 技術(shù))在后臺(tái)竊取 Cookie,12.3 Cookie的安全,通過(guò)某些
10、軟件,竊取硬盤下的 Cookie。一般說(shuō)來(lái),當(dāng)用戶訪問(wèn)完某站點(diǎn)后,Cookie文件會(huì)存在機(jī)器的某個(gè)文件夾下,因此可以通過(guò)某些盜取和分析軟件來(lái)盜取 Cookie,12.3 Cookie的安全,利用客戶端腳本盜取 Cookie。在 Javascript 中有很多 API 可以讀取客戶端 Cookie,可以將這些代碼隱藏在一個(gè)程序(如畫圖片)中,很隱秘地得到 Cookie 的值,解決 Cookie 安全的方法,方法有以下幾種 替代 Cookie。將數(shù)據(jù)保存在服務(wù)器端,可選的是 session 方案 及時(shí)刪除 Cookie,解決 Cookie 安全的方法,要?jiǎng)h除一個(gè)已經(jīng)存在的 Cookie,有以下幾種方法: 給一個(gè) Cookie 賦以空置 設(shè)置 Cookie 的失效時(shí)間為當(dāng)前時(shí)間,讓該 Cookie 在當(dāng)前頁(yè)面的瀏覽完之后就被刪除了 通過(guò)瀏覽器刪除 Cookie。如在 IE 中,可以選擇工具Internet
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電器店翻新合同變更說(shuō)明
- 2025年度二零二五年度包裝公司品牌形象設(shè)計(jì)租賃合同
- 倉(cāng)儲(chǔ)物流裝修合同標(biāo)準(zhǔn)范本
- 醫(yī)療器械與維護(hù)作業(yè)指導(dǎo)書
- 農(nóng)業(yè)產(chǎn)業(yè)鏈創(chuàng)新技術(shù)研發(fā)手冊(cè)
- 臨床路徑管理實(shí)施方案及實(shí)施細(xì)則
- 健康飲食與運(yùn)動(dòng)作業(yè)指導(dǎo)書
- 商鋪裝修糾紛起訴書模板
- 服裝店裝修免租期協(xié)議樣本
- 雨水收集回用系統(tǒng)的組成部分
- 《簡(jiǎn)·愛(ài)》外國(guó)小說(shuō)閱讀,初中語(yǔ)文下冊(cè)名著閱讀精講課件(部編版)
- 滬教版高一英語(yǔ)上冊(cè)(牛津版)全冊(cè)課件【完整版】
- 疾控中心考試試題
- 2023門球競(jìng)賽規(guī)則電子版圖文并茂
- DB13T 2801-2018 水利工程質(zhì)量監(jiān)督規(guī)程
- Q∕SY 05262-2019 機(jī)械清管器技術(shù)條件
- 耳鼻咽喉頭頸外科學(xué)耳鼻咽喉應(yīng)用解剖
- DBJ51 014-2021 四川省建筑地基基礎(chǔ)檢測(cè)技術(shù)規(guī)程
- 科學(xué)研究方法與學(xué)術(shù)論文寫作
- 英語(yǔ)的起源與發(fā)展(課堂PPT)
- 藥物化學(xué)結(jié)構(gòu)式大全(高清版)
評(píng)論
0/150
提交評(píng)論