ASP中cookies的常见使用方法与查看工具
一、cookies的类型
通过“IECookiesView”-专用的cookies查看工具,可以从“创建来源”区分,cookies有两种类型:
1、创建于客户端:通过客户段脚本创建,例子代码如下:
<script language="javascript">
var expire_date = new Date();
expire_date.setTime(expire_date.getTime()+1000*60*60);//有效期为1小时
var expire_string=expire_date.toGMTString();
document.cookie="cookiename=test;expires="+expire_string;
</script>
2、创建于服务器:通过服务器端程序创建,例子代码如下:
<%
Response.Cookies("cookiename")="test"
Response.Cookies("cookiename").expires=dateadd("h",1,now())
%>
注:不论是创建于客户还是创建于服务器,Cookie文件都还是存储在客户电脑端的。
二、清除本站所有cookies(仅给出创建于服务器的cookies清除代码)
Dim Cookie, Subkey
For Each Cookie in Request.Cookies
if Not(Request.Cookies(Cookie).HasKeys) then
Response.Cookies(Cookie).expires = now()-1'使得相应cookie过期
else
For Each Subkey in Request.Cookies(Cookie)
Response.Cookies(Cookie)(Subkey).expires = now()-1'使得相应cookie过期
Next
end if
Next
注:看到很多网友在问“在asp中,是否可以清除或访问其他站的cookies?”,答案是“不可能”,否则就没有一点安全性可言,通过在自己的网站上放几行代码就可以把你电脑上的所有cookies信息取得,岂不是太危险?如果一定要访问其他站的cookies,只有通过病毒或插件,:(,当然,基于两个可以完全信任或控制的站点,是可以通过变通的办法跨站使用cookies的,具体请参见《COOKIE跨域使用的办法》。
三、如何知道cookies存在哪里,是如何存储的
网上去下载一个叫做“IECookiesView”的工具软件(推荐IECookiesView 1.70-汉化版-华军软件园),非常管用,清清楚楚列出了您电脑里有多少个站的cookie文件,每个文件里都有哪些个cookie,键名、键值、域名、创建时间、实效时间、创建来源,可以在工具中修改、删除、监控cookie的变化等等。