Cookies在ASP中的最常用的方法,請做好筆記:
1.如何寫入Cookies。
Response.Cookies("欄位名")=變數或字串,例如:
Response.Cookies("name2")="Dingdang"
2.如何設定Cookies時間。
Response.Cookies("欄位名").expires=時間函數+N,例如:
Response.Cookies("name2").expires=date+1,表示Cookies儲存1天,再比如:
Response.Cookies("name2").expires=Hour+8,表示Cookies儲存8小時。
Response.Cookies("name2").expires=dateadd("h",24,now())
3.在以往的ASP教程中,很少有介紹Cookies退出的方法。在“退出”這個ASP頁中可以這樣寫:
Response.Cookies("欄位名")=""
之後,在用戶端的瀏覽器就清除了Cookies,並且Cookies檔案會消失。注意有多少個欄位,就要寫多少句來清除。
4.如何讀取Cookies。
變數名=Request.Cookies("欄位名"),例如:
name2=Request.Cookies("name2")
如果網頁中寫入<%=name2%>這句,則會顯示“Dingdang”。
也可以這樣直接讀取Cookies,<%=Request.Cookies("name2")%>
Cookies是屬於Session對象的一種。但有不同,Cookies不會佔伺服器資源;而“Session”則會佔用伺服器資源。所以,盡量不要使用Session,而使用Cookies。
一、首先讓我們瞭解一下Cookies的相關知識
Cookies中儲存的資訊片斷以“名/值”對(name-value pairs)的形式儲存,一個“名/值”對僅僅是一條命名的資料。一個網站只能取得它放在使用者的電腦中的資訊,它無法從其它的Cookies檔案中取得資訊,也無法得到使用者的電腦上的其它任何東西。 Cookies中的內容大多數經過了加密處理,因此一般使用者看來只是一些毫無意義的字母數字組合,只有相應網站的網頁程式(用戶端或伺服器端程式)才知道它們真正的含義。
儲存在使用者電腦硬碟中的Cookies檔案可以被Web瀏覽器讀取,它的命名格式為:使用者名稱@網站地址[數字].txt。
二、Cookies集合具有以下幾種屬性:
1.Expires屬性:此屬性用來給Cookies設定一個期限,在期限內只要開啟網頁就可以調用被儲存的Cookies,如果過了此期限Cookies就自動被刪除。如果一個Cookies沒有設定有效期間,則其生命週期從開啟瀏覽器開始,到關閉瀏覽器結束,每次運行後生命週期將結束,下次運行將重新開始。
2.Domain屬性:這個屬性定義了Cookies傳送資料的唯一性,指定了資料傳送的域,而不是其他域。
3.Path屬性:定義了Cookies只發給指定的路徑請求,如果Path屬性沒有被設定,則使用預設路徑。
4.Secure屬性:指定Cookies是否使用加密方式(SSL)傳送。
5.Haskeys屬性:如果所請求的Cookies是一個具有多個索引值的Cookies字典,則返回True,它是一個唯讀屬性。
三、Cookies的基本操作
對於Cookies的操作歸根結底就是兩種:寫入和讀取
在asp中使用Response來寫入,用Request來讀取。例如:
1.寫入Cookies
Response.Cookies("CookiesName")=value
2.讀取cookies
Request.Cookies("CookiesName")
四、Cookies的擴充應用
1.讀寫Cookies的子關索引值(CookieSubName),樣本如下:
Response.Cookies("VisitorName")("FirstName")="Martin"
Response.Cookies("VisitorName")("LastName")="Brawn"
firstName=Request.Cookies("VisitorName")("FirstName")
lastName=Request.Cookies(VisitorName")("LastName")
2.定義Cookies的域屬性(Domain):域屬性工作表明cookie由哪個網站產生或者讀取,預設情況下,cookie的域屬性設定為產生它的網站,但也可以根據需要改變它。如:Response.Cookies("CookieName").Domain = "www.yourdomain.com"
3.定義Cookies的路徑屬性(Path):路徑屬性可以實現更多的安全要求,通過設定網站上精確的路徑,就能限制cookie的使用範圍。例如:
Response.Cookies("CookieName").Path = "/maindir/subdir/path"
4.設定Cookies的到期時間
若不指定到期時間,當瀏覽器關閉時,cookie自動被刪除。若指定了到期時間,則正常情況下Cookies將儲存到到期時間之後被刪除(非電腦故障或使用者手動刪除的)。若設定的到期時間小於目前時間,則與未設定到期時間同樣的處理。
例如: Response.Cookies("UserName").Expires=#October 01, 2005# 即:2005年10月1日到期
Response.Cookies("UserName")=Now()+1 即:明天此時到期(儲存一天)
5.Cookies的Secure屬性:Secure屬性的值只有True或False兩種。如果Cookies資料指定成Secure=True,那麼該資料會以SSL(Secure Sockets Layer)的方式提交:Response.Cookies(“UserName”).Secure=True
五、判斷使用者的瀏覽器是否開啟了Cookies
在使用者請求的頁面中編寫寫入Cookies的代碼,然後在讀取這個Cookies,不為空白則說明開啟了Cookies,反之則沒有開啟。沒有開啟Cookies的瀏覽器也不支援Session。