日期:2014-05-18  浏览次数:20393 次

asp.net中cookie的用法
1:确认一下在没有修改cookie失效时间的情况下,cookie的失效时间是什么时候 从网上看到的有的是关闭浏览器就失效 有的说即使关闭也不失效,有点迷惑
2:我在load中写了一下
if (Request.Cookies["UserName"].Value != null)
但是会提示未将对象引用设置到对象的实例,不知道是什么原因


------解决方案--------------------
没有设置失效时间,那么就是关闭浏览器失效。
改为:if (Request.Cookies["UserName"] != null)

------解决方案--------------------




http://blog.csdn.net/huwei2003/article/details/3810068
------解决方案--------------------
不设置时间是永久Cookie 

Cookie 是一种有用的让用户特定的信息保持可用的方法。但是,由于 Cookie 会被发送到浏览器所在的计算机,因此它们容易被假冒或用于其他恶意用途。请遵循这些指导:

不要将任何关键信息存储在 Cookie 中。例如,不要将用户的密码存储在 Cookie 中,即使是暂时存储也不要这样做。通常,不要将任何信息保存在 Cookie 中,因为一旦它被假冒,就会危及您的应用程序的安全。而是在 Cookie 中保存对信息在服务器上的位置的引用。

将 Cookie 的过期日期设置为可接受的最短实际时间。尽可能避免使用永久 Cookie。

考虑对 Cookie 中的信息加密。 

考虑将 Cookie 的 Secure 和 HttpOnly 属性设置为 true。

防止拒绝服务威胁

------解决方案--------------------

没有设置cookies的过期时间,会话结束,cookies就失效

if (Request.Cookies["UserName"].Value != null) 这句会报错的原因是没有得到UserName这个cookies

就算要写判断也是应该判断Request.Cookies["UserName"]为不为null

下面的链接你可以看一下

http://www.cnblogs.com/zhongweiv/archive/2011/11/08/Cookies.html
------解决方案--------------------
探讨
没有设置失效时间,那么就是关闭浏览器失效。
改为:if (Request.Cookies["UserName"] != null)