【转】asp.net中的cookie使用介绍
来源:http://www.jb51.net/article/30398.htm
一.cookie导读,理解什么是cookie
1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存。并且读可以取出来的一种技术。
2.当你浏览某网站时,由web服务器放置于你硬盘上的一个非常小的文本文件,它可以记录你的用户id、浏览过的网页或者停留的时间等网站想要你保存的信息。当你再次通过浏览器访问该网站时,浏览器会自动将属于该网站的cookie发送到服务器去,服务器通过读取cookie,得知你的相关信息,就可以做出相应的动作。比如,显示欢迎你的小标题,不用填写帐号密码直接登录等。。
3.不同的浏览器存储的cooks位置是也不一样的。cookie文件的信息是不安全的,所以cookie里面的数据最好加密。
4.浏览器保存cookie数据有2中形式:浏览器的内存中,浏览器所在的电脑硬盘中。
二.cookie的查看
cookie在硬盘中的存在位置查看方法:
三.cookie的代码解释
1.将cookie写入浏览器端
代码如下:
HttpCookie cookie = new HttpCookie("id","234"); //创建cookie的实例。 Response.Cookies.Add(cookie);//将创建的cookie文件输入到浏览器端
explain:这里相当于在cookie文件中写入键值对为id:234,我们可以读取这个数据
2.读出cookie中存放的数据
代码如下:
HttpCookie cookie = new HttpCookie("id","234"); //创建cookie的实例。 Response.Cookies.Add(cookie);//将创建的cookie文件输入到浏览器端 Response.Write(Request.Cookies["id"].Value); //读取cookie文件中存储的值
explain:页面写出的数据就是234,从这里我们就能看出cookie的不安全性。所以使用的时候最好不要存放重要信息,如果就想存放,可以对其加密,在写入cookie存储文件中。还有如果对其无限制的写入,会造成垃圾文件过多。所以我们可以给cookie文件加一个有效期。
3.cookie文件的有效期设置
代码如下:
HttpCookie cookie = new HttpCookie("id","234"); //创建cookie的实例。 cookie.Expires = DateTime.Now.AddMonths(5);//设置cookie的过期时间,5分钟后过期,自动清除文件 Response.Cookies.Add(cookie);//将创建的cookie文件输入到浏览器端 Response.Write(Request.Cookies["id"].Value); //读取cookie文件中存储的值
4.cookie文件的删除、销毁
代码如下:
HttpCookie cookie = new HttpCookie("id","234"); //创建cookie的实例。 cookie.Expires = DateTime.Now.AddMonths(5);//设置cookie的过期时间,5分钟后过期,自动清除文件 Response.Cookies.Add(cookie);//将创建的cookie文件输入到浏览器端 Response.Write(Request.Cookies["id"].Value); //读取cookie文件中存储的值 cookie.Expires = DateTime.Now.AddMonths(-5); //cookie的销毁,给他设置一个多去了的时间,他就倍销毁了。
四.一个cookie的小例子,记住我。(如果登录的时候选择记住我,下次无需登录直接跳转的内容页)
代码如下:

1 <body> 2 <form id="form1" method="post" action="rembPage.aspx"> 3 <div> 4 帐号: <input type="text" name="userName" /><br /> 5 密码 :<input type="password" name="pass" /><br /> 6 记住我: <input type="checkbox" value="rem" name="sele1" /><br /> 7 <input type="submit" value=" 登录 " /> 8 </div> 9 </form> 10 </body> 11 protected void Page_Load(object sender, EventArgs e) 12 { 13 if (Request.Cookies["userName"] == null && Request.Cookies["passWord"] == null) 14 { 15 if (Request.Form["userName"] != null && Request.Form["pass"] != null) 16 { 17 String userName = Request.Form["userName"]; 18 String userPassWord = Request.Form["pass"]; 19 if (userName == "admin" && userPassWord == "123") 20 { 21 if (Request.Form["sele1"] != null) 22 { 23 HttpCookie cookieUserName = new HttpCookie("userName", userName); //创建帐号的cookie实例 24 HttpCookie cookiePassWord = new HttpCookie("passWord", userPassWord); 25 cookieUserName.Expires = DateTime.Now.AddDays(2); //设置帐号cookie的过期时间,当前时间算往后推两天 26 cookiePassWord.Expires = new DateTime(2012, 5, 27); //设置密码cookie的过期时间,过期时间为2012年5月27日 27 Response.Cookies.Add(cookieUserName); //将创建的cookieUserName文件输入到浏览器端 28 Response.Cookies.Add(cookiePassWord); 29 Response.Redirect("1.aspx"); //跳转到你想要的页面 30 } 31 else 32 { 33 Response.Redirect("1.aspx");//即便不记住密码也要跳转 34 } 35 } 36 } 37 } 38 else 39 { 40 Response.Redirect("1.aspx");//如果记住密码,第二次登录将直接进入1.aspx页面 41 } 42 }
PS:好像最后的案例里面
if (Request.Cookies["userName"] == null && Request.Cookies["passWord"] == null)
应该是用“或”连接呵呵
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App