1

我有domain.comsub1.domain.comsub2.domain.com。从sub1.domain.com的站点,我调用脚本在domain.com上设置 cookie,如下所示

document.cookie = "KEY=Value; domain=.domain.com; path=/; expires=Thu, 01 Jan 2013 00:00:01 GMT";

我检查浏览器并查看该 cookie。看起来不错。之后我去sub2.domain.com修改或删除我创建的 cookie。

document.cookie = "KEY=Deleted; domain=.domain.com; path=/; expires=Thu, 01 Jan 1990 00:00:01 GMT";

但是没有运气,Cookie 仍然存在,价值仍然存在。我应该怎么做才能从子域中删除根 cookie?

编辑:

为了清楚起见:我使用 citrix 单点登录在两个域上进行身份验证。我们只需要登录到 .domain.com 和 citric 将验证其余部分。但问题是它没有退出机制,所以我决定清除 cookie。当我使用浏览器插件清除它时它会起作用。但是当涉及到代码(javascript)时,它就行不通了。有谁知道这个

4

1 回答 1

0

好的,我知道问题所在!那些 cookie 是 httponly cookie,这意味着我们不能通过 javascript 访问。我必须在服务器端修改它们

HttpCookie expiredCookie = new HttpCookie("CookieName");
expiredCookie.Expires = DateTime.UtcNow.AddDays(-1);
expiredCookie.Path = "/";
expiredCookie.Domain = ".domain.com";
Response.Cookies.Add(expiredCookie);
于 2012-12-16T04:45:57.540 回答