Pregunta

Si hay una cookie configurada para un subdominio, metric.foo.com, ¿hay alguna manera de eliminar la cookie metric.foo.com en una solicitud a www.foo.com?El navegador (al menos Firefox) parece ignorar una Set-Cookie con un dominio metric.foo.com.

¿Fue útil?

Solución

Las cookies solo son legibles por el dominio que las creó, por lo que si la cookie se creó en metric.foo.com, deberá eliminarse en el mismo dominio en el que se creó.Esto incluye subdominios.

Si se le solicita que elimine una cookie de metric.foo.com, pero actualmente está ejecutando una página en www.foo.com, no podrá hacerlo.

Para hacer esto, debe cargar la página desde metric.foo.com o crear la cookie en foo.com para que pueda accederse a ella desde cualquier subdominio.O usa esto:

Respuesta.cookies("mycookie").dominio = ".foo.com"

...mientras lo creas Y antes de eliminarlo.

..no probado - debería funcionar.

Otros consejos

Tuve el mismo problema con los subdominios.Por alguna razón, no funcionó obtener la cookie primero de la solicitud.En lugar de eso, terminé simplemente creando una nueva cookie con el mismo nombre de cookie y fecha de vencimiento en el pasado.Eso funcionó perfectamente:

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);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top