之前介绍了怎样通过Cookies去绕过登录验证,这一期将介绍在开发时,怎样对Cookies的生命周期进行设置。
Cookie可以保持登录信息到用户下次与服务器的会话,那就是下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了。还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。
Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。
存储Cookies, 主要有两种方法,第一种是直接为Cookie集合设置Cookie属性。第二种是创建HttpCookie对象的一个实例并将该实例添加到Cookie集合中。
一、 通过Response对象的Cookie集合存储:
Response.Cookies[“Cookie的名称”].Value = 变量值
例如:Response.Cookies[“UserName”].Value=“ABC“
二、通过HttpCookie对象的实例存储:
HttpCookie cookie = new HttpCookie("Cookie名称","值")
Response.Cookies.Add(cookie)
或:
HttpCookie cookie = new HttpCookie("Cookie名称")
cookie.Value = "值"
Response.Cookies.Add(cookie)
例如:
HttpCookie cookie = new HttpCookie("UserName","ABC")
Response.Cookies.Add(cookie)
或者
HttpCookie cookie = new HttpCookie("UserName")
cookie.Value = "ABC"
Response.Cookies.Add(cookie)
因此,对于设置 Cookies 的生命周期,可以用 Response.Cookies[“Cookie的名称”].Expires=“日期” 去设置 ;
如果要设置为当关闭浏览器后,UserName过期,可以设置如下:
Response.Cookies["UserName"].Expires=DateTime.MinValue
对于HttpCookie对象存储Cookie的时间设定:
HttpCookie cookie = new HttpCookie("UserName")
cookie.Expires = DateTime.MinValue
Response.Cookies.Add(cookie)