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