为什么有些饼干有'。'领域之前?

时间:2010-03-23 15:38:55

标签: c# asp.net cookies

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

为什么?

e.g:

.staging.example.com

staging.example.com

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

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

UPD

我将cookie域设置为:

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

Response.Cookies.Add(c);

由于某种原因没有得到'。'在饼干里。

可能是什么问题?

3 个答案:

答案 0 :(得分:2)

如果你设置了。在域名之前,例如

.staging.example.com

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

答案 1 :(得分:1)

.staging.example.com的Cookie对于该域的每个子域也是可读的,例如: www.staging.example.com,另一个不是。

答案 2 :(得分:1)

要在staging.example.com的所有子域上提供Cookie,您需要将其设置为.staging.example.com