Возможно ли удалить поддомен куки? - PullRequest
12 голосов
/ 23 сентября 2008

Если для субдомена задан файл cookie, metric.foo.com, есть ли способ удалить файл cookie metric.foo.com по запросу на www.foo.com? Браузер (по крайней мере, Firefox), похоже, игнорирует Set-Cookie с доменом metric.foo.com.

Ответы [ 2 ]

17 голосов
/ 23 сентября 2008

Файлы cookie доступны только для того домена, который их создал, поэтому, если файл cookie был создан на metric.foo.com, его необходимо будет удалить в том же домене, в котором он был создан. Это включает в себя субдомены.

Если вам необходимо удалить файл cookie с сайта metric.foo.com, но в настоящее время вы запускаете страницу на сайте www.foo.com, вы не сможете.

Для этого вам необходимо загрузить страницу с сайта metric.foo.com или создать файл cookie в foo.com, чтобы он мог быть доступен в любом поддомене. ИЛИ используйте это:

Response.cookies ("mycookie"). Domain = ".foo.com"

... во время его создания и перед его удалением.

.. не проверено - должно работать.

6 голосов
/ 27 февраля 2009

У меня была такая же проблема с поддоменами. По какой-то причине получение файла cookie первым из запроса не сработало. Вместо этого я просто создал новый файл cookie с тем же именем и датой истечения в прошлом. Это сработало отлично:

void DeleteSubdomainCookie(HttpResponse response, string name)
{
    HttpCookie cookie = new HttpCookie(name);
    cookie.Expires = DateTime.Now.AddMonths(-1);
    cookie.Domain = ".yourdomain.com";
    response.Cookies.Add(cookie);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...