【问题标题】:How do you remove HttpOnly cookies?如何删除 HttpOnly cookie?
【发布时间】:2011-04-22 15:00:05
【问题描述】:

如果我的应用程序将 HttpOnly cookie 放置在客户端上,然后需要删除它们,您如何才能完全删除它们?

【问题讨论】:

    标签: c# asp.net cookies httponly


    【解决方案1】:

    当用户访问您的网站时,您可以使 cookie 过期,例如:

    HttpCookie expiredCookie = new HttpCookie(cookieName);
    expiredCookie.Expires = DateTime.UtcNow.AddDays(-1);
    Response.Cookies.Add(expiredCookie);
    

    您必须为要删除的每个 cookie 执行此操作。

    【讨论】:

    • 请注意,您不能真正销毁客户端上的 cookie。您只能要求客户端销毁 cookie 并希望它正常运行。不当行为可能是客户端错误或用户在到期前将 cookie 从浏览器中复制出来,并在到期后将其复制回来。如果 cookie 包含敏感信息(例如您的会话 id),您必须使服务器上的会话无效,以确保它不能被重复使用。
    • @atk,这当然是正确的,但我认为他正在寻找删除 cookie 的正常方法。当然,除非您可以访问客户的计算机,否则无法保证 cookie 会被删除。做到这一点的唯一方法是入侵您网站的每个访问者的计算机:)
    • 我尝试过与此等效的方法,但它似乎对我不起作用,但是对此进行独立验证清楚地表明它确实有效,并且我试图清理的第 3 方组件必须在我尝试删除它们后,它们一直在推回它们。
    【解决方案2】:

    您无法联系并删除 Cookie。你可以拿走所有的 cookie,清除数据并让它们过期。

    【讨论】:

    • 这有什么例子吗?因为到目前为止我尝试的一切似乎并没有真正改变任何东西
    猜你喜欢
    • 2020-09-29
    • 1970-01-01
    • 2013-04-02
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 2017-02-07
    • 1970-01-01
    相关资源
    最近更新 更多