麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > ASP > 正文

ASP編程入門進階(六):Cookies講座

2020-07-27 13:19:41
字體:
來源:轉載
供稿:網友
什么是 Cookie?Cookie 其實是一個標簽,經常可能聽到的中文翻譯:小舔餅。當你訪問一個需要唯一標識你的站址的 WEB 站點時,它會在你的硬盤上留下一個標記,下一次你訪問同一個站點時,站點的頁面會查找這個標記。

每個 WEB 站點都有自己的標記,標記的內容可以隨時讀取,但只能由該站點的頁面完成。每個站點的Cookie與其他所有站點的Cookie存在同一文件夾中的不同文件內(你可以在 win98 的 Windows 目錄下的 Cookie 文件夾中找到它們,而 win2k 則在 Documents and Settings 文件夾下特定用戶的 cookies 文件夾中)。

一個 Cookie 就是一個唯一標識客戶的標記,Cookie 可以包含在一個對話期或幾個對話期之間某個 WEB 站點的所有頁面共享的信息,使用 Cookie 還可以在頁面之間交換信息。這項功能經常被使用在要求認證客戶密碼以及電子公告板、WEB 聊天室等 ASP 程序中。

盡管現在聽起來cookie沒有什么激動人心的,但實際上利用它,你能實現許多有意義的功能!比如說:你可以在站點上放置一個調查問答表,詢問訪問者最喜歡的顏色和字體,然后根據這些定制用戶的web界面。并且,你還可以保存訪問者的登錄密碼,這樣,當訪問者再次訪問這個站點時,不用再輸入密碼進行登錄。

當然,cookie也有一些不足。首先,由于利用cookie的功能可以編程實現一些不良企圖,所以大多數的瀏覽器中都有安全設定,其中可以設置是否允許或者接受cookie(IE瀏覽器中“工具”--“Internet選項...”--“安全”--“自定義級別”--“Cookie的使用”;Netscape瀏覽器中“工具”--“Cookie管理器”--“管理貯存的Cookie”即可),因此這就不能保證隨時能使用cookie。再者,訪問者可能有意或者無意地刪除cookie。當訪問者的機器遇到“藍屏”死機時,或者重新格式化硬盤、安裝系統后,原來保存的cookie將全部丟失。最后一點,有一些最初始的瀏覽器并不能支持cookie。


◆ 怎樣利用cooklie?
有2種使用cookie的基本方式:
1、將cookie寫入訪問者的計算機(使用 Response 命令)
2、從訪問者的計算機中取回cookie(使用 Request 命令)

◆ 創建cookie的基本語法: Response.Cookies(cookie)[(key)|.attribute]=value
這里的 cookie 是指定 cookie 的名稱。
而如果指定了 key,則該 cookie 就是一個字典。
(測試一cookie是否為一個字典可用后面代碼顯示布爾值:<%=Request.Cookies("cookiename").HasKeys%>。為true是字典,false則不是。 )
Attribute 指定 cookie 自身的有關信息。Attribute 參數可以是下列之一 :

①Domain 若被指定,則 cookie 將被發送到對該域的請求中去。域屬性表明cookie由哪個網站產生或者讀取,默認情況下,cookie的域屬性設置為產生它的網站,但你也可以根據需要改變它。(Response.Cookies("CookieName").Domain = "www.mydomain.com")

②Path 為一路徑屬性,該屬性可以實現更多的安全要求,通過設置網站上精確的路徑,就能限制cookie的使用范圍。如果未設置該屬性,則使用應用程序的路徑。(Response.Cookies("CookieName").Path = "/maindir/subdir/path" )

③Expires 指定 cookie 的過期日期。為了在會話結束后將 cookie 存儲在客戶端磁盤上,或在許多時候,我們希望能更長時間地在訪問者的計算機上保存cookie。必須設置該日期。若此項屬性的設置未超過當前日期,則在任務結束后 cookie 將到期。

后面的代碼,就可以設置cookie的使用到期時間為“2010年1月1日”: Response.Cookies("CookieName").Expires=#January 01, 2010#
后面的代碼,將設定cookie的過期時間為“cookie的創建時間+365天”:Response.Cookies("CookieName").Expires=Date+365
但最好不要隨便寫 Response.Cookies("CookieName").Expires=Date,這樣頁面之間的調用時值會為空。


執行下面的代碼將會在訪問者的計算機中創建一個cookie,名字=VisitorName,值=Ken :
Response.Cookies("VisitorName")="Ken"
執行下面的代碼將會在訪問者的計算機中創建一個cookie,名字=VisitorName,值=表單中UserName的值
Response.Cookies("VisitorName")=Request.Form("UserName")
你可以擴展下面的代碼成為Cookie子關鍵值(CookieSubName),即cookie字典的生成。代碼如下:
Response.Cookies("VisitorName")("FirstName")="Ken"
Response.Cookies("VisitorName")("LastName")="Baumbach"



◆ 讀取cookie的基本語法:Request.Cookies(cookie)[(key)|.attribute]
cookie 指定要檢索其值的 cookie。
key 可選參數,用于從 cookie 字典中檢索子關鍵字的值。
attribe 指定 cookie 自身的有關信息。如:HasKeys 只讀,指定 cookie 是否包含關鍵字。
如果客戶端瀏覽器發送了兩個同名的 cookie,那么 Request.Cookie 將返回其中路徑結構較深的一個。例如,如果有兩個同名的的 cookie,但其中一個的路徑屬性為 /www/ 而另一個為 /www/home/,客戶端瀏覽器同時將兩個 cookie 都發送到 /www/home/ 目錄中,那么 Request.Cookie 將只返回第二個 cookie。

案例分析:

◆ num.asp(通過留在本地磁盤上的cookie記錄一年內訪問本站的次數,第一次顯示“首次訪問”,以后顯示“第幾次訪問”)


<%
dim num
num=request.cookies("visitnum")
if num > "0" then
num=num+1
Response.write "您已是第"&num&"次訪問本站點了。"
else
Response.write "歡迎您首次訪問本站。"
num=1
end if
response.cookies("visitnum")=num
response.cookies("visitnum").expires=date+365
%>



◆ showcookie.asp(從Cookies文件夾中遍歷出瀏覽器所有的Cookie name,以及相關的字典Cookie的顯示(藍字顯示))


<%
For each cookie in Request.Cookies
if Request.cookies(cookie).HasKeys =false then
Response.write cookie & "=" & Request.Cookies(cookie)
Response.write ("<br>")
Else
for each key in Request.Cookies(cookie)
Response.write ("<font color=blue>")
Response.write cookie & ".("&key&")" & "=" & Request.Cookies(cookie)(key)
Response.write ("</font><br>")
next
end if
next
%>



◆ check.asp
'首先,設置頁面。然后,檢查表單變量(在同一個頁面中)。如果表單變量存在,就創建cookie,并設置到期時間。


<%@ LANGUAGE="VBSCRIPT" %>
<%
bgcolor = Request.Form("bgcolor")
fgcolor = Request.Form("fgcolor")
pwd = Request.form("pwd")

If bgcolor <>"" or fgcolor <>"" then
Response.cookies("check")("bgcolor") = bgcolor
Response.Cookies("check")("fgcolor") = fgcolor
Response.Cookies("check")("pwd") = pwd
Response.Cookies("check").Expires=#may 01, 2004#
End if
'接著,讀取cookie
bgcolor = request.cookies("check")("bgcolor")
fgcolor = request.cookies("check")("fgcolor")
pwd = request.cookies("check")("pwd")
'如果cookie在訪問者的計算機上不存在,就創建一個表單,詢問相關信息
If bgcolor ="" and fgcolor ="" and pwd="" then
%>
<HTML>
<HEAD> </HEAD>
<body>
<DIV ALIGN="CENTER" >
<Form action="check.asp" method="POST">
Bgcolor: <input type="text" name="bgcolor"><BR>
Fgcolor: <input type="text" name="fgcolor"><BR>
Password:<input type="password" name="pwd"><BR>
<input type="submit" value="Submit">
</Form>
</DIV>
</BODY>
<%
End if
'如果cookie已經存在,并且bgcolor存在,就跳轉到color.asp。
If bgcolor <> "" then
Response.Redirect "color.asp"
End if
%>



◆ color.asp(顯示用戶愛好顏色的頁面特性)


<%
bgcolor=request.cookies("check")("bgcolor")
fgcolor=request.cookies("check")("fgcolor")
pwd=request.cookies("check")("pwd")
%>
<%response.write("<body bgcolor="&bgcolor&"><font color="&fgcolor&">")%>
你的密碼是:
<%response.write(" "&pwd&" ")%>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产xxxx岁13xxxxhd | 中文字幕四区 | 久草在线观看资源 | 国产羞羞网站 | 香蕉黄色网 | 日韩中文字幕一区二区三区 | av在线免费观看网 | 亚洲第一视频在线 | 免费看真人a一级毛片 | 午夜天堂在线视频 | 12av电影| 性欧美日本 | 成人免费毛片在线观看 | tube69xxxxxhd| 666sao| 黄色网址免费进入 | 欧洲精品久久 | 久久免费视频一区 | 久久久久久久国产a∨ | 亚洲精品一区二区三区免 | 色屁屁xxxxⅹ在线视频 | 成av人在线观看 | 久久亚洲成人网 | 成人福利视频在线 | 成人免费自拍视频 | 久久成人精品视频 | 午夜精品久久久久久久久久久久久蜜桃 | 欧美激情性色生活片在线观看 | 久久精品九九 | 99激情 | 4p嗯啊巨肉寝室调教男男视频 | 久久久久久久久久久久久久av | 粉嫩粉嫩一区二区三区在线播放 | 黄网站在线免费 | 成人午夜在线免费 | 欧美日韩色 | 国产91在线亚洲 | 91在线精品亚洲一区二区 | 狠狠干五月天 | 欧美日韩激情 | av在线免费观看播放 |