ASP入門---Response對象的Cookies集合
本文來源於 雪網域網路 (http://www.snowhack.com)
原文地址: http://www.snowhack.com/asp/aspjc/aspjc/200901/902.html
雪域:指令碼與安全相結合,從入門到精通,打造國內最優秀的編程學習網站
一、Cooies集合是Response對象和Request對象共有的一項經常用到的集合。使用者通過HTTP標題訪問一個首頁時,每次都要重新開始。因此,如果要判斷某個使用者是否曾經進入本網站,那麼就可以使用Cookies了。當使用者第一次訪問此網站時,可以利用Response對象的Cookies集合將資料存放區到用戶端電腦,當使用者再一次訪問此網站時,則可以利用Request對象的Cookies集合取得相關資訊。
Cookies存放在瀏覽器端的本機磁碟上,而不是存放在伺服器端。通常,Cookies包含使用者的有關資訊(如身份識別號碼,密碼、使用者在Web網站上購物的方式或使用者訪問該網站的次數等)。無論何時使用者串連到伺服器,Web網站都可以訪問Cookies資訊。
註解:什麼是HTTP標題?當用戶端瀏覽器向伺服器發送頁面請求時,除了將所請求頁面的URL地址傳送給伺服器之外,也將瀏覽器的類型、版本等資訊一起傳送到伺服器,這些資訊統稱為請求標題;當伺服器響應用戶端瀏覽器的請求時,除了所請求的檔案傳遞給用戶端之外,也將該檔案的大小、日期等資訊一起傳送給用戶端,這些資訊稱為響應標題,請求標題和響應標題統稱為HTTP標題。
二、利用Response對象的Cookies集合將資料存放區到用戶端的電腦上的文法格式如下:
Response.Cookies(Cookies名)[(Key)]|.屬性]=值
註解:
Key 為選擇性參數,如指定Key ,則 Cookies 就是一個字典,該參數值將被設定為“值”。並可以在以後的接收中使用。 “索引值”用於檢索多個變數值中的某一個; 屬性是指Cookies的屬性。 Cookies預設的生命週期起始於它被寫入瀏覽器端的那一刻,結束於瀏覽器結束執行時。如果要設定Cookise的存在期限,可經使用Response.Cookies(name).Expries屬性。當存在期限已滿時,Cookies將自動從瀏覽器的本機磁碟上刪除。 向用戶端寫入Cookie 值時應注意,由於Cookie 是作為 HTTP 傳輸的一部分發送給用戶端的,所以設定 Cooie 的代碼必須放在標記的前面。
三、下面是一段判斷使用者登入時,其使用者名稱和密碼是否輸入正確的簡單程式。
我在使用者登入頁面中建立了一個名為UserName的Cookies,通過UserName和password這兩個Key值來儲存使用者名稱和使用者密碼。其代碼如下: (檔案名稱:4-2a1.asp)<%
Response.Cookies("User")("UserName")="含笑" '建立一個名為"User"的Cookies中”UserName"的值。
Response.Cookies("User")("password")="111111" '建立一個名為“User"的Cookies中”password"的值。
Response.Cookies("UserName").Expires=date()+1
Response.Cookies("password").Expires=date()+1
%>
<html>
<head><title>使用者設定檔</title></head>
<body>
<center>
<form name="Form1" method="get" action="4-2a.asp">
<p>使用者姓名:<input name="UserName1" type="text">
<p>密碼:<input name="password1" type="password">
<input Type="submit" name="btnSubmit" value="提交">
<input type="reset" name="reset" value="重寫">
</center>
</form>
</body>
</head>
通過Request對象的Cookies集合讀取Cookies中的值,通過表單傳遞過來的使用者名稱和密碼與其進行比較,如都一樣,則提示:”您已登入成功。“,否則返回登入頁面。其代碼如下: (檔案名稱:4-2a2.asp)]
<% @ language="VBScript" %>
<% Response.Buffer=true %>
<html>
<head>
<title>讀寫Cookies樣本</title>
</head>
<body>
<center>
<%
dim UserName,password,a,b
UserName=Request.Querystring("UserName1") '將名為"UserName1"控制項的值賦給變數UserName。
password=Request.Querystring("password1") '將名為"password1"控制項的值賦給變數password。
a=Request.Cookies("User")("UserName") '讀取Cookies中UserName的值,並將其賦給變數a。
b=Request.Cookies("User")("password") '讀取Cookies中password的值,並將其賦給變數b。
%>
<font size='7' color='red' face='華文彩雲'>
<%
if UserName=a and password=b then '如果在UserName控制項中輸入的值等於Cookies中UswrName的值,而且在password控制項中輸入的值等於Cookies中password的值,則提示”您已登入成功1“
response.write "您已登入成功!"
else
response.Redirect "4-2a1.asp" '否則,返回到使用者資訊輸入頁面。
end if
%>
</font>
<hr size="2" width="70%" color="#cc9999">
<%
Response.Cookies("User").Expires=date()+100 '設定Cookies的有效期間是100天。
%>
<a href="4-2a1.asp">返回上一頁</a>***||***<a href="4-2-2.asp">返回教材</a>
</center>
</body>
</html>
註:執行上述 ASP 程式後,可以在用戶端磁碟上找到寫入的 Cookie 檔案。Cookie 檔案的儲存位置與所使用的作業系統有關:如果使用的是 Windows 98Me,可以在 WindowsCookies 檔案夾中找到該檔案;如果使用的是 W in200/XP系統,Cookies檔案存放在C:Documents asn Settings 中該使用者目錄上的 Cookies 子目錄中。
本文來源於 雪網域網路 (http://www.snowhack.com)
原文地址: http://www.snowhack.com/asp/aspjc/aspjc/200901/902.html
雪域:指令碼與安全相結合,從入門到精通,打造國內最優秀的編程學習網站