Вопрос

Если для субдомена 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);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top