cookie使用和销毁
一.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) //判断师傅存在cookie,如果存在表示上次选择了记住我
{
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页面
}
}
转:http://www.cnblogs.com/knowledgesea/archive/2012/05/25/2518626.html
cookie使用和销毁的更多相关文章
- Cookie操作类、 包括创建、读取、修改、获取、销毁cookie
Cookie操作类. 包括创建.读取.修改.获取.销毁cookie import java.util.Hashtable; import java.util.Iterator; import java ...
- cookie 和session 区别
会话技术: Cookie:客户端技术.将数据保存在客户端浏览器上.Cookie是有大小和个数的限制. Session:服务器端技术.将数据保存在服务器端.Session没有大小和个数限制.Sessio ...
- session和cookie的简单理解
0. 引子,我们为什么要cookie和session 因为http请求是无状态的(不能记录用户的登录状态等),所以需要某种机制来保存用户的登录状态等信息,在下次访问web服务的时候,不用再 ...
- [转载]JavaEE学习篇之——Session&&Cookie
原文链接: http://blog.csdn.net/jiangwei0910410003/article/details/23337043 今天继续来看看JavaWeb的相关知识,这篇文章主要来讲一 ...
- Yii cookie 的使用方法
设置cookie: //首先新建cookie$cookie = new CHttpCookie('mycookie', 'this is my cookie');//定义cookie的有效期$cook ...
- Cookie操作类 实现记住用户名和密码的功能
import java.util.Hashtable;import java.util.Iterator;import java.util.Set;import javax.servlet.http. ...
- Yii cookie操作
设置cookie: $cookie = new CHttpCookie('mycookie','this is my cookie'); $cookie->expire = time()+60* ...
- 谈谈Session会话和Cookie
Session Session在我们的网络应用中就是一种客户端与服务器端保持状态的解决方案 Session对象,就是客户端浏览器与服务器之间建立的互动信息状态.每一个不同的用户连接将得到不同的Sess ...
- Python爬虫番外篇之Cookie和Session
关于cookie和session估计很多程序员面试的时候都会被问到,这两个概念在写web以及爬虫中都会涉及,并且两者可能很多人直接回答也不好说的特别清楚,所以整理这样一篇文章,也帮助自己加深理解 什么 ...
随机推荐
- RabbitMQ基础概念(消息、队列、交换机)
1.消息的确认 RabbitMQ需要对每一条发送的消息进行确认.消费者必须通过AMQP的basic.ack命令显式地向RabbitMQ发送一个确认,或者在订阅到队列的时候就将auto_ack参数设置为 ...
- 动态规划小结 - 一维动态规划 - 时间复杂度 O(n),题 [LeetCode] Jump Game,Decode Ways
引言 一维动态规划根据转移方程,复杂度一般有两种情况. func(i) 只和 func(i-1)有关,时间复杂度是O(n),这种情况下空间复杂度往往可以优化为O(1) func(i) 和 func(1 ...
- js随机数生成与排序
'use strict'; // 排序算法. // 生成一个指定数量的不含重复数字的随机数组 function ranArr(n,callback) { var res = []; var tmp ; ...
- tomcat优化总结【持续更新】
配置优化 <Connector port=" maxThreads=" URIEncoding="UTF-8" maxKeepAliveRequests= ...
- js基础知识点收集
js基础知识点收集 js常用基本类型 function show(x) { console.log(typeof(x)); // undefined console.log(typeof(10)); ...
- 原生ES-Module在浏览器中的尝试
其实浏览器原生模块相关的支持也已经出了一两年了(我第一次知道这个事情实在2016年下半年的时候) 可以抛开webpack直接使用import之类的语法 但因为算是一个比较新的东西,所以现在基本只能自己 ...
- jq_常用开发模块
1.循环模块 var html = ""; $.each(data, function(k, v) { html += '<li>' + '<div>' + ...
- 项目记录 -- zpool set
zfs set <property=value> <filesystem|volume|snapshot> root@UA4300D-spa:~/hanhuakai/pro_0 ...
- arpspoof dnsspoof中间人攻击
最近搞了一个监听神器,尽管使用了网卡混杂模式,不过监听到的几乎全是本地流量, 为了获取更多有用的数据,搞一下中间人攻击,最基本的就是arpspoof + IP转发,这样就可以获得局域网内任何人的上网流 ...
- 宿主机mount虚拟机镜像文件
转载 mount挂载虚拟机镜像文件 使用mount挂载ubuntu虚拟机所在的img文件的时候,执行: “sudo mount -o loop xxx.img /mnt/xxx”, 系统提示: “mo ...