拒绝删除的cookie

时间:2012-06-25 19:08:36

标签: cookies asp-classic

我在删除传统ASP中的Cookie时遇到问题。在多个域上设置和检索cookie非常有效,没有问题。删除cookie不是。
拒绝删除的cookie将在原始超时时间超时并自行删除,但这不是一个选项 我查看了文档,堆栈溢出,堆栈交换(Web应用程序)(一些问题类似并给了我一些答案,但不一样),cookie中心和MSDN。
目前无法将页面更新为ASP.NET。 Cookie值和名称采用十六进制形式,带有前导“O”,以消除加密数据和脚本语言(ASP,VBScript,Jsvascript,SQL)出现问题的任何问题。
请注意,一些不同的尝试被注释掉了。

Sub Set4HrCookie(ByVal CookieName, ByVal CookieValue)
    Response.Cookies(CookieName).Expires = DateAdd("n", 240, Now())
    Response.Cookies(CookieName).Domain = ".mydomain.net"
    Response.Cookies(CookieName).Path = "/"
    Response.Cookies(CookieName) = CookieValue
    Response.Cookies(CookieName).Secure = FALSE
End Sub

Sub Set1DayCookie(ByVal CookieName, ByVal CookieValue)
    Response.Cookies(CookieName).Expires = Now() + 1
    Response.Cookies(CookieName).Domain = ".mydomain.net"
    Response.Cookies(CookieName).Path = "/"
    Response.Cookies(CookieName) = CookieValue
    Response.Cookies(CookieName).Secure = FALSE
End Sub

Sub KillThatCookie(ByVal CookieName)
    Response.Cookies(CookieName).Domain = ".mydomain.net"
    Response.Cookies(CookieName).Path = "/"
    Response.Cookies(CookieName).Expires = Now() ' Now() - 1 ' #01/01/1999#
    ' Response.Cookies(CookieName).Secure = FALSE
    Response.Cookies(CookieName) = ""
End Sub

拒绝删除的Cookie示例:

O9DCCF20B15CA0F382184A96BAB
OFA86B660438C4863797E4485DE
mydomain.net/

以下是一些给我信息的网址 当你清除它们时,你必须分配.domainname.com域,否则它不会清除它们 http://forums.asp.net/t/1399232.aspx/1
经典ASP中具有DOMAIN值的Cookie http://blurbly.net/5_5.htm

编辑:进一步测试表明,由于在Cookie上使用了“路径”,因此“杀死”时需要“路径”。
编辑:这是IIS-6 - 它似乎与VB6 INI文件的已知错误相似。当程序命中INI文件太快时,系统无法跟上并发生INI文件损坏。

2 个答案:

答案 0 :(得分:2)

最后我找到了答案。我们的网站使用HTTPOnly cookie和标准cookie。问题是IIS无法处理。所有cookie都是HTTPOnly或none。其中一个是双向设置,之后所有非HTTPOnly cookie都没有被删除。 KillThatCookie保持不变。一天的设置cookie变为:

Sub Set1DayCookie(ByVal CookieName, ByVal CookieValue)
Dim strGMTDateRFC22
    strGMTDateRFC22 = GetServerUTC("d", 1) ' 1 Day Cart Session Expiration
    Response.AddHeader "Set-Cookie", CookieName & "=" & CookieValue & "; expires=" & strGMTDateRFC22 & "; domain=.mydomain.net; path=/; HttpOnly"
End Sub

此外,带有下划线“ - ”,括号“()”,&符号“&”的Cookie存在问题。它们不一定会删除。我确信有更多字符,但文档说这些是有效的。它们可能有效,但它们会引起问题。
编辑:看来还有更多内容。多次超时也是一个问题 编辑:部分问题是我们正在加密密钥,使其区分大小写。

答案 1 :(得分:0)

要删除cookie,请执行以下操作: -

Response.Cookies(CookieName) = CookieValue 
Response.Cookies(CookieName).Expires = Date() - 1