zoukankan      html  css  js  c++  java
  • ASP.NET操作Cookie

    1.生成Cookie

    public static void SetDataByCookie(string mainKey, string subKey, string value, string domain, int expireHours)
    {
        var cookie = Request.Cookies[mainKey];
        if (cookie == null)
        {
            cookie = new HttpCookie(mainKey);
        }
    
        if (!String.IsNullOrEmpty(domain))
        {
            cookie.Domain = domain;
        }
        cookie.Expires = DateTime.Now.AddHours(expireHours);
        cookie[subKey] = value;
        Response.Headers.Add("Access-Control-Allow-Credentials", "true");
    
        Response.SetCookie(cookie);
    }

    2.获取Cookie

    public static string GetDataByCookie(string mainKey, string subKey)
    {
        if (Request.Cookies[mainKey] != null && Request.Cookies[mainKey][subKey] != null)
        {
            return Request.Cookies[mainKey][subKey];
        }
        return "";
    }

    3.关于Cookie的Domain

    ①设置Domain是为了跨域操作Cookie,假如本应用的Cookie名与要跨域访问的Cookie名相同,则会访问本应用的Cookie

    ②localhost和直接使用IP的应用是无法设置Domain的,如 http://localhost:8081/login.aspx 、http://121.211.112.111:8081等

    这就可能导致一种问题,同一台服务器上有两台未绑定域名的且不相关的网站:http://121.211.112.111:8081,http://121.211.112.111:8083

    则二者的Cookie可以互相访问。

    ③网页发起请求时,会携带当前网页的Cookie,但是内容中却不包含Domain和Expires。

  • 相关阅读:
    JVM底层原理 内存模型+GC垃圾回收
    新Socket与网络小结
    Redis五大数据结构及基本指令用法
    MySql高级汇总-事务,索引,SQL调优,分库分表,读写分离
    笔试错题整理
    设计模式(思路)
    网络编程
    linux
    基础算法--KMP匹配字符串
    基础算法--整数二分
  • 原文地址:https://www.cnblogs.com/TiestoRay/p/4507575.html
Copyright © 2011-2022 走看看