HTML5技术

ASP.NET Cookie概念、CURD操作、原理、实际运用 - joye888

字号+ 作者:H5之家 来源:H5之家 2015-12-09 08:33 我要评论( )

会话就WEB开发来说,一个会话就是你通过浏览器与服务器之间的一次通话,只不过这种通话是以用浏览器浏览的方式来实现的. 就会话的应用来说,一般会话是用来识别用户的,比如你可以使用会话级变量记录当前用户已经输入的用户名密码,这样就不用他每次输入了,还

会话就WEB开发来说,一个会话就是你通过浏览器与服务器之间的一次通话,只不过这种通话是以用浏览器浏览的方式来实现的.

就会话的应用来说,一般会话是用来识别用户的,比如你可以使用会话级变量记录当前用户已经输入的用户名密码,这样就不用他每次输入了,还可以用来记录一些其他的与当前这一次通话有关的信息。一旦你关闭了浏览
器,虽然会话没有结束,但是你重新打开浏览器时,已经不能再次利用上一次的会话了,它会新建一个会话。而服务器会根据预先的设置在超时后自动关闭会话,你也可以手动结束会话。

一、Cookie的基本概念

Cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。

关于Cookie的知识还需要了解以下几点。

1、Cookie只是一段字符串,并不能执行。

2、大多数浏览器规定Cookie大小不超过4K,每个站点能保存的Cookie不超过20个,所有站点保存的Cookie总和不超过300个。

3、除了Cookie外,几乎没有其他的方法在客户端的机器上写入数据(就连Cookie的写入操作也是浏览器进行的)。当然,连Cookie都可以通过浏览器安全配置来禁止。

   微软Internet Explorer 设置方法:工具 > Internet选项 > 隐私 页 调节滑块或者点击“高级”,进行设置.

4、在使用Cookie时,必须意识到其固有的安全弱点。Cookie毕竟是存放于客户端的。因此不要在Cookie中保存保密信息,如用户名、密码、信用卡号等。在Cookie中不要保存不应该由用户掌握的内容,也不要保存可能被其他窃取Cookie的人控制的内容。

5、Cookie文件存放地址(IE浏览器查看 工具 > Internet选项 > 常规选项卡-设置-查看文件):

Cookie文件存放地址

 

二、ASP.NET对Cookie的CURD操作

代码如下:

//写入Cookie三种方式 cookie = , ); Response.Cookies.Add(cookie); //方式2 Response.Cookies[].Value = ; Response.Cookies[].Expires = DateTime.MaxValue; acookie = ); acookie.Value = ; acookie.Expires = DateTime.MaxValue; Response.Cookies.Add(acookie); //写入多值Cookie //方式1: //Response.Cookies["userinfo"]["name"].Value = "joye888"; //Response.Cookies["userinfo"].Expires = DateTime.MaxValue; //方式2: HttpCookie cookie2 = ); cookie2.Values[] = ; cookie2.Expires = DateTime.Now.AddDays(1); Response.Cookies.Add(cookie2); //读取Cookie的值之前,应该确保该 Cookie 确实存在。否则,您将得到一个异常 httpCookie = Request.Cookies[]; if (httpCookie != null) { var name = httpCookie.Value; } httpCookie1 = Request.Cookies[]; if (httpCookie1 != null) { ]; } //修改和删除cookie cookieEdit = , ); cookieEdit.Expires = DateTime.Now.AddDays(-1); //将其有效期设置为过去的某个日期。当浏览器检查 Cookie 的有效期时,就会删除这个已过期的 Cookie。 Response.Cookies.Add(cookieEdit); //如果有主站及二级域名站且cookie要共享的话则要加入如下设置 cookie.Domain = ; cookie.Path = ;

浏览器查看写入的Cookie,F12:

三、Cookie运行原理图解

四、Cookie使用的注意事项

 Cookie虽然是一个简单实用的对象,但是我们也要注意Cookie的工作原理、大小限制以及安全性等,大致可以归纳为以下几点。

1、存储的物理位置。客户端的Cookies文件夹内。

2、存储的类型限制。字符串。

3、状态使用的范围。当前请求上下文的上下文都能访问到Cookie,Cookie对每个用户来说都是独立的。

4、存储的大小限制。每个Cookie不超过4K数据。每个网站不超过20个Cookie。所有网站的Cookie总和不超过300个。

5、生命周期。每个Cookie都有自己的过期时间,超过了过期时间后失效。

6、安全与性能。存储在客户端,安全性差。对于敏感数据建议加密后存储。

7、优点缺点与注意事项。可以很方便地关联网站和用户,长久保存用户设置。

 

五、Cookie的实际运用

登录记住用户名和密码示例

页面代码:

<body> <form id=method=action=> <div> 帐号: <input type=name=/><br /> 密码 :<input type=name=/><br /> 记住我: <input type=value=name=/><br /> <input type=value=/> </div> </form> </body>

实现代码:

] == ] == null) //判断是否存在cookie,如果存在表示上次选择了记住我 { ] != ] != null) { String userName = Request.Form[]; String userPassWord = Request.Form[]; && userPassWord == ) { ] != null) { HttpCookie cookieUserName = , userName); //创建帐号的cookie实例 HttpCookie cookiePassWord = , 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(); //跳转到你想要的页面 } else { Response.Redirect();//即便不记住密码也要跳转 } } } } else { Response.Redirect();//如果记住密码,第二次登录将直接进入Index.aspx页面 }

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 如何在 ASP.NET Core 中发送邮件 - Savorboard

    如何在 ASP.NET Core 中发送邮件 - Savorboard

    2017-05-02 08:02

  • 十二个 ASP.NET Core 例子 - Savorboard

    十二个 ASP.NET Core 例子 - Savorboard

    2017-04-27 16:01

  • ASP.NET MVC5请求管道和生命周期 - 雪飞鸿

    ASP.NET MVC5请求管道和生命周期 - 雪飞鸿

    2017-04-24 08:04

  • ASP.NET Core MVC 源码学习:详解 Action 的激活 - Savorboard

    ASP.NET Core MVC 源码学习:详解 Action 的激活 - Savorboard

    2017-04-14 13:04

网友点评
h