覆盖cookie的问题

时间:2009-10-02 02:06:46

标签: c# asp.net cookies

客户在a.url.com上有一个网站。客户端创建一个cookie,主机为“.url.com”,路径为“/”。客户通过b.url.com重定向到我们。客户端存在编码问题,需要我们删除cookie(长篇故事)。

以下代码在我们的测试或生产环境中根本没有调整到期时间,但在本地工作正常。

if (Request.Cookies["cookie"] != null)
{
  HttpCookie myCookie = new HttpCookie("cookie");
  myCookie.Expires = DateTime.Now.AddDays(-1d);
  Response.Cookies.Add(myCookie);
}

有什么想法吗?

4 个答案:

答案 0 :(得分:5)

我们已经弄明白了。我们需要添加一行代码来手动设置域。现在有了充分的理解。

if (Request.Cookies["cookie"] != null)
{
  HttpCookie myCookie = new HttpCookie("cookie");
  myCookie.Domain = ".url.com";
  myCookie.Expires = DateTime.Now.AddDays(-1d);
  Response.Cookies.Add(myCookie);
}

答案 1 :(得分:0)

这是第三方Cookie吗?如果是这样,IE中的默认安全设置将阻止在“Internet”区域中写入cookie,但允许在您的本地区域中写入。

答案 2 :(得分:0)

这是一个黑客。我只是发布这个,以防您发现由于某些安全问题阻止您在第二个站点上处理问题而无法执行您想要的操作。

您可以向第一个网站发送请求以通过重定向清除Cookie,并让该网站再次退回用户。就像我说的,这是非常hackish(或者我认为营销会称之为站点间合作安全功能)。

希望有一种更好的方法,但至少如果没有其他方法,你可以选择其他方法。

答案 3 :(得分:0)

如果您无法在C#中使用它,您可能需要考虑是否可以在javascript中操作cookie。

加里