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
雪域:脚本与安全相结合,从入门到精通,打造国内最优秀的编程学习站点