Если есть набор cookie для субдомена metric.foo.com, есть ли способ удалить cookie metric.foo.com по запросу на www.foo.com? Браузер (по крайней мере, Firefox), похоже, игнорирует Set-Cookie с доменом metric.foo.com.
Можно ли удалить куки файлы поддоменов?
Ответ 1
Файлы cookie доступны только для домена, который их создал, поэтому, если файл cookie был создан на metric.foo.com, его нужно будет удалить в том же домене, который был создан. Сюда входят поддомены.
Если вам необходимо удалить cookie с metric.foo.com, но в настоящее время выполняется страница на www.foo.com, вы не сможете.
Чтобы сделать это, вам нужно загрузить страницу с metric.foo.com или создать файл cookie под foo.com, чтобы он мог быть доступен под любым поддоменом. ИЛИ используйте это:
Response.cookies( "mycookie" ). domain = ".foo.com"
... при создании, И перед тем, как удалить его.
.. untested - должен работать.
Ответ 2
У меня была та же проблема с субдоменами. По какой-то причине получение файла cookie первым из запроса не сработало. Вместо этого я закончил создание нового файла 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); }