我正在研究一些我继承的旧代码。 index.asp文件顶部有VB脚本,用于在登录时设置COOKIE。看看代码,好像cookie应该在 Date()(我假设是在同一天)到期。但是,当我查看今天创建的Cookie时,它将于10/7 / 2041 到期。我的目标是让cookie在7天后到期。提前谢谢。
<%@ LANGUAGE=VBScript %>
<% Option Explicit %>
<%
Response.Buffer=true
On Error Resume Next
%>
<%
Dim cookieECP
Dim fldIAccept
cookieECP=Request.Cookies("ACIntra")
fldIAccept=Request.Form("fldIAccept")
if cookieECP="ON" then
Server.Transfer("/default.asp")
elseif fldIAccept="Y" then
Response.Cookies("ACIntra")="ON"
Response.Cookies("ACIntra").Expires = Date()
Server.Transfer("/default.asp")
end if
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
答案 0 :(得分:2)
Date()是ASP中的当前日期。也许你的cookie在网站上的其他地方更新了? 要在7天后过期,说明将是:
Response.Cookies("ACIntra").Expires = Now() + 7
我建议您清除浏览器中的所有Cookie,并让您的浏览器设置为在设置新Cookie时询问您。 IE有此选项,它允许您查看服务器要在浏览器中设置的cookie /值 这允许您进行调试。
另一个选择是您的服务器设置了错误的日期,但这有点牵强。
HTH 埃里克
答案 1 :(得分:2)
您还可以使用dateAdd进行更多控制。
Response.Cookies("ACIntra").Expires = DateAdd("d",7,date())
采用三个参数 - 您要添加的inteval类型(“d”=天),这些参数的数量 间隔(负减去而不是添加),以及要添加的基本日期/时间对象。
您可以使用date()
或now()
之一; date
获取当前服务器日期,now
也获取当前服务器日期和时间戳。