Почему у некоторых файлов cookie есть «.» перед доменом? - PullRequest
5 голосов
/ 23 марта 2010

Попытка поделиться файлами cookie между 2 доменами в asp.net, по некоторым причинам у 1 домена есть «.» перед доменом, а другой нет.

Почему это?

например:

.staging.example.com

и

staging.example.com

Это как-то связано с тем, как я создаю куки или с изменением 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 ]

2 голосов
/ 23 марта 2010

Если вы установите. перед доменным именем, например

.staging.example.com

Это означает, что любое доменное имя, находящееся под этим именем, будет иметь доступ к этому cookie. Например. test01.staging.example.com будет иметь доступ к тому, что было в этом куки, как если бы он сам его создал. Без точки она ограничена конкретным доменом с именем.

1 голос
/ 23 марта 2010

Чтобы файл cookie был доступен во всех поддоменах из staging.example.com, вам нужно установить его на .staging.example.com

1 голос
/ 23 марта 2010

Файл cookie для .staging.example.com также доступен для чтения для каждого субдомена этого домена, например, www.staging.example.com, другой нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...