我是靠谱客的博主 朴实紫菜,最近开发中收集的这篇文章主要介绍asp设置cookies的过期时间,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在ASP技术中,Cookie是Response的唯一的一个集合,是Web服务器在用户的浏览器中用来代表用户的令牌。当同一浏览器又一次请求同一Cookie设定的页面时,它将从用户端把上一次从Web服务器中收到的Cookie发送回Web服务器进行数据处理。在实际应用中,Cookie一直起着相当重要的作用,设置Cookie的属性和它的失效期在Cookie的使用中扮演着举足轻重的角色。特别像在一些很重要的场合,比如说在线投票、电子商务中,设置Cookie以及它的失效期是很重要的。 

要设置Cookie的失效期可以使用Expires属性。Expires是期满、终止、失效的意思。该属性是只写的,用于设置Cookie的期限,指定Cookie的失效期。没有指定期限的Cookie只能通过浏览器所提供的Cookies功能,将信息暂时存放在用户端,而不能以文件的形式存储到用户的计算机上,当用户关闭该浏览器时,此Cookie自动失效。所以无失效期的Cookie不能跟踪用户的信息。要延长Cookie的生命周期,跟踪用户来访信息,就必须用Expires属性来设置Cookie的失效时间。 

在讨论设置Expires属性之前,首先回顾一下ASP技术中表示时间的几个关键字:time 、date 和now。这样做的好处是有利于大家进一步的学习。下面先请大家看一段程序以及它的运行结果: 

<html> 

<head> 

<title>时间测试</title> 

</head> 

<body> 

time: <%=time%><p> 

date: <%=date%><p> 

now: <%=now%><p> 

</body> 

</html> 

 

这三个关键字都是代表Web服务器的系统时间的。我们通过上面的程序和运行结果,可以很快地、很清楚地了解这三个关键字和它们之间的区别: 

1. time :主要用于表示时间,包括时、分、秒,不表示日期 

2. date :主要用于表示日期,包括年、月、日,不表示时间 

3. now :同时表示时间(时分秒)和日期(年月日) 

有了以上的基础知识,现在可以谈一下设置Expires的三大类方法: 

1. dateadd法 
1)将期限设置为当前日期后的第N天的0时0分0秒 
Response.Cookies("AsaiCks").Expires=dateadd("d",N,date) 
2)将期限设置为当前日期后的第N月的同一天的0时0分0秒 
Response.Cookies("AsaiCks").Expires=dateadd("m",N,date) 
3)将期限设置到当前时间后的第N天的该时该分该秒 
Response.Cookies("AsaiCks").Expires=dateadd("d",N,now) 
4)将期限设置到当前时间后的第N+M天的该时该分该秒 
Response.Cookies("AsaiCks").Expires=dateadd("d",N,now+M) 
5)将期限设置到当前时间后的第N月的该时该分该秒 
Response.Cookies("AsaiCks").Expires=dateadd("m",N,now) 
6)将期限设置到当前时间后的第N月的同一日后的第M天的该时该分该秒 
Response.Cookies("AsaiCks").Expires=dateadd("m",N,now+M) 

2. 确定日期法 
1)将期限设置到某一日的0时0分0秒失效 
举例:到2003年1月29日0时0分0秒失效 
Response.Cookies("AsaiCks").Expires=# 1/29/2003 # 
或 
Response.Cookies("AsaiCks").Expires=# 2003/1/29 # 
或 
Response.Cookies("AsaiCks").Expires="January 29,2003" 
2)将期限设置到某一日的某一时刻失效 
举例:到2003年1月29日21时0分0秒失效 
Response.Cookies("AsaiCks").Expires = #2003/1/29 21:00:00# 
或 
Response.Cookies("AsaiCks").Expires = #1/29/2003 21:00:00# 
或 
Response.Cookies("AsaiCks").Expires = #January 29,2003 21:00:00# 
其实,在这种方法中,用"" ""和"# #"的效果是一样的。例如 
Response.Cookies("AsaiCks").Expires="January 29,2003" 
和 
Response.Cookies("AsaiCks").Expires=# January 29,2003 # 的效果就是相同的。 

3. date+ now+ 法 
这种方法主要结构为Date+数学式或now +数学式。通过简单的四则运算的方法,将Cookie 的失效时间设置到当前时间后的某一段时间内。这里的加号都表示在当前时间的基础上加上预设时间。 
1)date+法 
如将期限设置为当前日期后的第N天的0时0分0秒,我们可以使用上述已谈到过的方法也可以使用如下格式: 
Response.Cookies("AsaiCks").Expires=Date+N 
date+法是一种比较死的方法。它和上述方法差别不是很大,完全可以由上述几种方法代替。下面介绍now+法,这是一种比较灵活的方法,它可以将失效时间准确地定位到当前时间后的任意一年、一月、一天、一小时、一分、一秒。 
2)now+法 
先举一个例子: Response.Cookies("AsaiCks").Expires = now+1 
这条语句的功能是:把Cookie的失效时间限制到1天后的同一时刻。这里的1代表1天,即24小时。由于now代表当前Web服务器的系统时间,包括年、月、日、时、分、秒,则该语句所表达得Cookie 的失效日期在明天的同一时、分、秒上。若改成now+2则表示此Cookie 的失效日期在两天后的同一时、分、秒上;now+30表示此Cookie 的失效日期在一个月后的同一时、分、秒上;now+30*2表示此Cookie 的失效日期在两个月后的同一时、分、秒上;now+365则表示此Cookie 的失效日期在一年后的同一时、分、秒上…… 
当把1分成24等份,即该语句变成: Response.Cookies("AsaiCks").Expires = now+1/24则表示把Cookie的失效时间限制到一小时后。在此基础上,把1再分60等份,即把now+1/24改成 now+1/1440,则表示把Cookie的失效时间限制到一分钟后。这里的1440是由24*60得来。同理,要把Cookie的失效时间限制到十分钟后,则把程序变成Response.Cookies("AsaiCks").Expires = now+10/1440;要把Cookie的失效时间限制到一秒钟后,则程序变成Response.Cookies("AsaiCks").Expires = now+1/86400。当然,理论上把Cookie的失效时间限制到微秒级也是可以的。不过,那就没有什么实际意义了。另外,如果程序语句变成: Response.Cookies("AsaiCks").Expires = now+1+1/1440则表示Cookie的失效时间为24小时零一分钟后。 

以上只是笔者在对ASP研究过程中的一些心得。对设置Cookie的失效时间的方法进行一个详细的阐述,以弥补市面上有关书籍中的不足,希望大家在编程时能够得到方便。

+++++++++++++++++++++++++++++++++++++++++++++

保留COOKIES一个小时 
Response.Cookies("MyCookie").Expires= (now()+1/24) 
Response.Cookies("MyCookie").Expires = DateAdd("h", 1, Now()) 


Response.Cookies("CookieName").Expires=DateAdd("m",60,now()) 
设置60个月以后过期 

Response.Cookies("User").expires=second()+7 
在expires后面定义的时间可以用时间函数代替 
例如:date()+7就表示在今天的时间上加上7天,而second()+7则是7秒了。 

Response.Cookies("字段名").expires=时间函数+N,例如: 
Response.Cookies("name2").expires=date+1,表示Cookies保存1天,再比如: 
Response.Cookies("name2").expires=Hour+8,表示Cookies保存8小时。 
这种方法我测试过不行(在2003server,iis6.0中),不管second后面有无加(),访问时会出现500错误(还是无法显示网页?忘了)。 


织梦尤文:这里的时间累加建议还是使用DateAdd函数,比如我们要累加一小时,则使用: 

Response.Cookies("baidooglecom").expires = DateAdd("h", 1, Now()) 

30分钟: 
Response.Cookies("CookieName").Expires=DateAdd("n",30,now()) 

dateadd("S",30,now()) 得到秒 


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,这样页面之间的调用时值会为空。

转载于:https://my.oschina.net/u/945047/blog/140875

最后

以上就是朴实紫菜为你收集整理的asp设置cookies的过期时间的全部内容,希望文章能够帮你解决asp设置cookies的过期时间所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部