Cookies过期时间在服务器和客户端的各自为政?
发布网友
发布时间:2022-04-26 18:08
我来回答
共2个回答
热心网友
时间:2023-10-20 05:34
要是想完全不依赖客户端的时间系统,可以按照下面的步骤做:
1. 让你的Cookie永远不过期,方法是给Expires属性赋最大的DateTime值:
Response.Cookies["someCookie"].Expires = Datetime.MaxValue;
2. 使用另外一个Cookie记录当前的服务器时间:
HttpCookie cServerTime = new HttpCookie("serverTime", DateTime.Now.ToString("yyyyMMdd HHmmss"));
cServerTime.Expires = DateTime.MaxValue;
Response.Cookies.Add(cServerTime);
3. 当从Request中获取Cookie时,只需要使用DateTime.ParseExact() 方法把当初存进Cookie的日期取回。
但有一个问题有待解决:客户端的Cookie是可能被篡改的。
大概的解决办法是你可以使用另外一个Cookie来保存当时Cookie的MD5或其他可以用来验证Cookie是否被篡改的方法
热心网友
时间:2023-10-20 05:34
客户端一般不做判断,只是服务器做判断