cookie的常用操作

cookie介绍:

1. cookie的简单介绍就是把用户的登录信息缓存在本机的浏览器中,且最大容量为4KB,

2. 这种存储是不安全的,通常一般会进行加密处理,但是依旧不能做到安全,所以一般要优先考虑网站的安全性以及应用场景。

3. 大多数浏览器最多可以存储20个cookie的值,如果试图创建更多的cookie,则旧的cookie值会被覆盖。

4. 

aspx前端代码:

复制代码
 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="CZBK.ItcastProject.WebApp._2018_11_30.Login" %>
 2 
 3 <!DOCTYPE html>
 4 
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 8     <title></title>
 9 </head>
10 <body>
11     <form id="form1" runat="server">
12     <div>
13     用户名:<input type="text" name="txtName"  value="<%=LoginUserName%>"/><br />
14         密码;<input type="password" name="txtPwd" /><br />
15         <input type="submit" value="登录" />
16         
17     </div>
18     </form>
19 </body>
20 </html>
复制代码

处理cookie的详细代码:

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 
 8 namespace CZBK.ItcastProject.WebApp._2018_11_30
 9 {
10     public partial class Login : System.Web.UI.Page
11     {
12         public string LoginUserName { get; set; }
13         protected void Page_Load(object sender, EventArgs e)
14         {
          //如果是post请求
15 if (IsPostBack) 16 { //从前端获取txtname的值,存放在cookie中,并且分配一个有效期 17 string userName = Request.Form["txtName"]; 18 //写到Cookie中. Response 写 19 Response.Cookies["userName"].Value = Server.UrlEncode(userName); 20 Response.Cookies["userName"].Expires = DateTime.Now.AddDays(7); 21 22 }//如果是get请求,cookie缓存区取出已经存储的值 23 else 24 { 25 //读Cookie。 Request 读 26 if (Request.Cookies["userName"] != null) 27 { 28 string name =Server.UrlDecode(Request.Cookies["userName"].Value); 29 LoginUserName = name; 30 Response.Cookies["userName"].Value = Server.UrlEncode(name); 31 Response.Cookies["userName"].Expires = DateTime.Now.AddDays(7); 32 } 33 } 34 } 35 } 36 }
复制代码

 多值cookie的写入和接收:

1                     //多值cookie
2                     Response.Cookies["userInfo"]["userName"] = Server.UrlEncode("锦大大");
3                     Response.Cookies["userInfo"]["lastvisit"] = DateTime.Now.ToString();  //保存当前时间
4                     Response.Cookies["userInfo"].Expires = DateTime.Now.AddDays(1);  //设置其有效期

1 //接收多值cookie
2                     string user = Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]);

 

cookie常用的相关方法:

复制代码
 1 getDomain();返回cookie的域名.
 2 getMaxAge();返回cookie的存活时间
 3 getName();返回cookie的名字
 4 getPath();返回cookie适用的路径
 5 getSecure();如果浏览器通过安全协议发送Cookie将返回true值,如果浏览器使用标准协议刚返回false值
 6 getValue();返回cookie的值
 7 getVersion();返回cookie所遵从的协议版本setComment(String purpose);设置cookie的注释
 8 setPath(String url);设置Cookie的适用路径
 9 setSecure(Boolean flag);设置浏览器是否仅仅使用安全协议来发送cookie,例如使用Https或ssl
10 setValue(String newvalue);cookie创建后设置一个新的值
11 setVersion(int v);设置cookie所遵从的协议版本。
复制代码

 

posted @   锦大大的博客呀!  阅读(391)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示