2012-06-25 112 views
2

我在刪除經典ASP中的Cookie時遇到問題。設置和檢索cookie在多個域名中工作正常,沒有問題。刪除Cookie不是。
拒絕刪除的cookie會超時並在原來的超時時間內自行刪除,但這不是一個選項。
我已經通過文檔,堆棧溢出,堆棧交換(web應用程序)(一些問題是類似的,給了我一些答案,但不一樣),cookie中心和MSDN。
將頁面更新到ASP.NET目前不是一個選項。 Cookie值和名稱以十六進制表示,並帶有前導「O」以消除加密數據和腳本語言(ASP,VBScript,Jsvascript,SQL)在字符方面存在問題時可能出現的任何問題。
請注意,一些不同的嘗試被註釋掉。
拒絕刪除的Cookie

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域值
http://blurbly.net/5_5.htm

編輯:進一步的試驗已經顯示,由於「路徑」是對cookie的使用,「路徑」被要求對「殺」。
編輯:這是IIS-6 - 它看起來類似於VB6 INI文件已知的錯誤。當一個程序太快地衝擊INI文件時,系統無法跟上併發生INI文件損壞。

回答

2

終於我找到了答案。我們的網站使用HTTPOnly cookies和標準cookies。問題是IIS無法處理。所有的cookie都是HTTPOnly或者沒有。其中之一是雙向設置,之後所有非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 

而且,用下劃線餅乾「 - 」,括號‘()’符號‘&’是有問題的,他們不一定會刪除我敢肯定這個文件說這些文件是有效的,但它們可能是有效的,但是它們會導致問題
編輯:看起來還有更多的問題,多重超時也是一個問題。
編輯:問題的一部分是我們正在加密使其區分大小寫的鍵。

0

對於刪除的cookie,這樣做的方法: -

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

試過 - 沒有工作 – Dave