永发信息网

如何设置cookie的过期时间

答案:2  悬赏:60  手机版
解决时间 2021-02-09 08:19
  • 提问者网友:姑娘长的好罪过
  • 2021-02-08 21:34
如何设置cookie的过期时间
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-02-08 22:17
1. dateadd法
1)将期限设置为当前日期后的第N天的0时0分0秒
Response.Cookies(“LastView”).Expires=dateadd(“d”,N,date)
2)将期限设置为当前日期后的第N月的同一天的0时0分0秒
Response.Cookies(“LastView”).Expires=dateadd(“m”,N,date)
3)将期限设置到当前时间后的第N天的该时该分该秒
Response.Cookies(“LastView”).Expires=dateadd(“d”,N,now)
4)将期限设置到当前时间后的第N+M天的该时该分该秒
Response.Cookies(“LastView”).Expires=dateadd(“d”,N,now+M)
5)将期限设置到当前时间后的第N月的该时该分该秒
Response.Cookies(“LastView”).Expires=dateadd(“m”,N,now)
6)将期限设置到当前时间后的第N月的同一日后的第M天的该时该分该秒
Response.Cookies(“LastView”).Expires=dateadd(“m”,N,now+M)

2. 确定日期法
1)将期限设置到某一日的0时0分0秒失效
举例:到2003年1月29日0时0分0秒失效
Response.Cookies(“LastView”).Expires=# 1/29/2003 #

Response.Cookies(“LastView”).Expires=# 2003/1/29 #

Response.Cookies(“LastView”).Expires=“January 29,2003”
2)将期限设置到某一日的某一时刻失效
举例:到2003年1月29日21时0分0秒失效
Response.Cookies(“LastView”).Expires = #2003/1/29 21:00:00#

Response.Cookies(“LastView”).Expires = #1/29/2003 21:00:00#

Response.Cookies(“LastView”).Expires = #January 29,2003 21:00:00#
其实,在这种方法中,用““ ””和“# #”的效果是一样的。例如
Response.Cookies(“LastView”).Expires=“January 29,2003”

Response.Cookies(“LastView”).Expires=# January 29,2003 # 的效果就是相同的。

3. date+ \now+ 法
这种方法主要结构为Date+数学式或now +数学式。通过简单的四则运算的方法,将Cookie 的失效时间设置到当前时间后的某一段时间内。这里的加号都表示在当前时间的基础上加上预设时间。
1)date+法
如将期限设置为当前日期后的第N天的0时0分0秒,我们可以使用上述已谈到过的方法也可以使用如下格式:
Response.Cookies(“LastView”).Expires=Date+N
date+法是一种比较死的方法。它和上述方法差别不是很大,完全可以由上述几种方法代替。下面介绍now+法,这是一种比较灵活的方法,它可以将失效时间准确地定位到当前时间后的任意一年、一月、一天、一小时、一分、一秒。
2)now+法
先举一个例子: Response.Cookies(“LastView”).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(“LastView”).Expires = now+1/24则表示把Cookie的失效时间限制到一小时后。在此基础上,把1再分60等份,即把now+1/24改成 now+1/1440,则表示把Cookie的失效时间限制到一分钟后。这里的1440是由24*60得来。同理,要把Cookie的失效时间限制到十分钟后,则把程序变成Response.Cookies(“LastView”).Expires = now+10/1440;要把Cookie的失效时间限制到一秒钟后,则程序变成Response.Cookies(“LastView”).Expires = now+1/86400。当然,理论上把Cookie的失效时间限制到微秒级也是可以的。不过,那就没有什么实际意义了。另外,如果程序语句变成: Response.Cookies(“LastView”).Expires = now+1+1/1440则表示Cookie的失效时间为24小时零一分钟后。
全部回答
  • 1楼网友:拾荒鲤
  • 2021-02-08 23:15
默认cookies失效时间是直到关闭浏览器,cookies失效,也可以指定cookies时间。 response.cookies("user_name").expires=date+1 '指定cookie保存时间 保留cookies一个小时 response.cookies("mycookie").expires= (now()+1/24) response.cookies("mycookie").expires = dateadd("h", 1, now()) 设置60个月以后过期 response.cookies("cookiename").expires=dateadd("m",60,now()) 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, 这样页面之间的调用时值会为空。 function killip(cook,cooktime) '封杀ip,同一个ip不能多次执行,( cookies名字,cookies时间) killip("queip",30) cook = checkstr(cook) if not isint(cooktime) then response.write "cooktime is not int" exit function end if if request.cookies(cook)&"" <> "" and request.cookies(cook)&"" = getip() then execscript "alert('抱歉,同一个ip不能多次操作。');location.href='/';" response.end end if response.cookies(cook) = getip() response.cookies(cook).expires=dateadd("n",cooktime,now()) '多少分种。 dateadd("s",30,now()) 30秒。 date+1 1天。 end function call killip("queip",30)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯