• 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所遵从的协议版本。
  • 相关阅读:
    StatusBar
    iOS开发UI篇-UITabBarController简单介绍
    iOS最全梳理
    UITabbarController的UITabbarItem(例:"我的")点击时,判断是否登录
    iOS APP 发布上架流程
    IOS开发
    IT教育课程考评系统开发-26
    IT教育课程考评系统开发-25
    2020100201-1
    IT教育课程考评系统开发-24
  • 原文地址:https://www.cnblogs.com/wangjinya/p/10528328.html
Copyright © 2020-2023  润新知