【问题标题】:Why do some cookies have a '.' before the domain?为什么有些 cookie 有一个 '.'在域之前?
【发布时间】:2010-03-23 23:57:04
【问题描述】:

试图在 asp.net 中的 2 个域之间共享 cookie,由于某种原因,1 个域有一个 '.'在域之前,而另一个不在。

这是为什么呢?

例如:

.staging.example.com

staging.example.com

这与我如何创建 cookie 或 web.config 更改有关吗?

我没有使用表单身份验证,只是手动创建了一个 cookie。

更新

我将 cookie 域设置为:

HttpCookie c = new HttpCookie("blah");
c.Value = "123";
c.Expires = DateTime.Now.AddHours(12);
c.Domain = ".staging.example.com";

Response.Cookies.Add(c);

由于某种原因没有得到 '.'在 cookie 中。

可能是什么问题?

【问题讨论】:

    标签: c# asp.net cookies


    【解决方案1】:

    如果你设置一个 .在域名之前,例如

    .staging.example.com
    

    这意味着位于该 cookie 下的任何域名都可以访问该 cookie。例如。 test01.staging.example.com 可以访问该 cookie 中的任何内容,就好像它是自己创建的一样。没有点,它仅限于被命名的特定域。

    【讨论】:

      【解决方案2】:

      .staging.example.com 的 cookie 对于该域的每个子域也是可读的,例如www.staging.example.com,另一个没有。

      【讨论】:

        【解决方案3】:

        要使 cookie 在 staging.example.com 的所有 子域 上可用,您需要将其设置为 .staging.example.com

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-04-18
          • 1970-01-01
          • 1970-01-01
          • 2017-10-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-27
          相关资源
          最近更新 更多