是否可以删除子域Cookie?
时间:2020-03-06 14:33:42 来源:igfitidea点击:
如果为子域metric.foo.com设置了cookie,是否有一种方法可以根据我对www.foo.com的请求删除metric.foo.com cookie?浏览器(至少是Firefox)似乎忽略了metric.foo.com域的Set-Cookie。
解决方案
Cookie仅可由创建它们的域读取,因此,如果cookie是在metric.foo.com上创建的,则必须在与创建它相同的域下将其删除。这包括子域。
如果需要从metric.foo.com删除cookie,但是当前正在www.foo.com上运行页面,则将无法执行。
为此,我们需要从metric.foo.com加载页面,或者在foo.com下创建cookie,以便可以在任何子域下访问它。或者使用此:
Response.cookies(" mycookie")。domain =" .foo.com"
...在创建时以及删除之前。
..unested应该可以工作。
我对子域也有同样的问题。由于某种原因,首先从请求中获取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); }