asp.net中的cookie使用介绍

所属分类: 网络编程 / ASP.NET 阅读数: 1396
收藏 0 赞 0 分享
一.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的小例子,记住我。(如果登录的时候选择记住我,下次无需登录直接跳转的内容页)
复制代码 代码如下:

<body>
<form id="form1" method="post" action="rembPage.aspx">
<div>
帐号: <input type="text" name="userName" /><br />
密码 :<input type="password" name="pass" /><br />
记住我: <input type="checkbox" value="rem" name="sele1" /><br />
<input type="submit" value=" 登录 " />
</div>
</form>
</body>
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["userName"] == null && Request.Cookies["passWord"] == null)
{
if (Request.Form["userName"] != null && Request.Form["pass"] != null)
{
String userName = Request.Form["userName"];
String userPassWord = Request.Form["pass"];
if (userName == "admin" && userPassWord == "123")
{
if (Request.Form["sele1"] != null)
{
HttpCookie cookieUserName = new HttpCookie("userName", userName); //创建帐号的cookie实例
HttpCookie cookiePassWord = new HttpCookie("passWord", userPassWord);
cookieUserName.Expires = DateTime.Now.AddDays(2); //设置帐号cookie的过期时间,当前时间算往后推两天
cookiePassWord.Expires = new DateTime(2012, 5, 27); //设置密码cookie的过期时间,过期时间为2012年5月27日
Response.Cookies.Add(cookieUserName); //将创建的cookieUserName文件输入到浏览器端
Response.Cookies.Add(cookiePassWord);
Response.Redirect("1.aspx"); //跳转到你想要的页面
}
else
{
Response.Redirect("1.aspx");//即便不记住密码也要跳转
}
}
}
}
else
{
Response.Redirect("1.aspx");//如果记住密码,第二次登录将直接进入1.aspx页面
}
}

五.js中的cookie以后再写,这里我有什么错误,或者你想指点我什么,请留言。谢谢!
更多精彩内容其他人还在看

.NET Core源码解析配置文件及依赖注入

这篇文章我们设计了一些复杂的概念,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等
收藏 0 赞 0 分享

.NET Corek中Git的常用命令及实战演练

这篇文章将通过故事的形式从Git的历史谈起,并讲述Git的强大之处。然后通过实战演练教你如何在Github以及码云上托管我们的代码并进行代码的版本控制
收藏 0 赞 0 分享

Asp.Net Core WebAPI使用Swagger时API隐藏和分组详解

这篇文章主要给大家介绍了关于Asp.Net Core WebAPI使用Swagger时API隐藏和分组的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Asp.Net Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

如何利用FluentMigrator实现数据库迁移

这篇文章主要给大家介绍了关于如何利用FluentMigrator实现数据库迁移的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

ASP.NET Core利用Jaeger实现分布式追踪详解

这篇文章主要给大家介绍了关于ASP.NET Core利用Jaeger实现分布式追踪的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

浅谈从ASP.NET Core2.2到3.0你可能会遇到这些问题

这篇文章主要介绍了ASP.NET Core2.2到3.0可能会遇到的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解.net core webapi 前后端开发分离后的配置和部署

这篇文章主要介绍了.net core webapi 前后端开发分离后的配置和部署,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁

这篇文章主要介绍了ASP.Net Core 中如何借助CSRedis实现一个安全高效的分布式锁,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

.net 4.5部署到docker容器的完整步骤

这篇文章主要给大家介绍了关于.net 4.5部署到docker容器的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用.net4.5具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

.net core并发下线程安全问题详解

这篇文章主要给大家介绍了关于.net core并发下线程安全问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享
查看更多