如果是主域名相同的情况下是可以的如abc.test.com创建的cookie,可以在aaa.test.com中获取到如果是跨域名就得考虑用用户令牌之类的了

解决方案 »

  1.   

    做个简单测试
    第一个站点        protected void Page_Load(object sender, EventArgs e)
            {
                HttpCookie Cookie2 = new HttpCookie("userid");
                Cookie2.Expires = DateTime.Now.AddDays(7);
                string domain = Request.ServerVariables["SERVER_NAME"];
                Regex reg=new Regex(@"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$");
                if (reg.IsMatch(domain))
                {
                    Cookie2.Domain = domain;  //我自己分析 就是此处的问题 通过IP访问 获取不到Domain的值 导致保存登录COOKIE失败
                }
                else
                {
                    if (domain.IndexOf('.') > 0)
                    {
                        domain=domain.Substring(domain.IndexOf('.') + 1);                    
                    }
                    Cookie2.Domain = domain;
                }            Cookie2.Value = "abc";
                Response.Cookies.Add(Cookie2);
                Response.Write(domain + "写了abc");
                Response.End();
            }
    第二个站点        protected void Page_Load(object sender, EventArgs e)
            {
                if (Request.Cookies["userid"] != null)
                {
                    Response.Write(Request.Cookies["userid"].Value.ToString());
                    Response.End();
                }
            }
      

  2.   

    js 不能跨域的
    你可以用HttpWebRequest 模拟访问目标网站,获取你需要的Cookie.
    如果不模拟操作,而又想获取cookie,那理论题不太可能,或许你发现他们漏洞也说不定
      

  3.   


    HttpWebRequest 模拟访问?这个怎么得到他的cookie呢?
      

  4.   

    那就自己想办法让他变成同一个子站咧,就是不懂对方是否设置有cookies的域名Cookie2.Domain,这个很关键
      

  5.   

    还有一种用法:如果我们事先知道对方的cookies的格式和内容,我们可以先修改一下本机的DNS,以上图,然后建立一个站点,这个站点负责创建cookies的格式和内容,然后再把本机的dns去掉,理论上也是可以骗过对方网站的
      

  6.   

    看不懂这是在干嘛了,response是可以带cookie的你去百度下,或者上msdn