2010-05-07 79 views
1

我有一個奇怪的問題,通過PHP清除Cookie。奇怪的未設置Cookie問題

比方說,如果我有一個域neobie.net 我店「記住用戶登錄」 cookie的名稱爲「USER_INFO」,其中包含串以識別回訪的下一次用戶登錄。

現在用firefox,我看到了,我有2塊餅乾USER_INFO與域「www.neobie.net」和「.neobie.net」與後來的1周到期日期。

我寫了一個logout.php腳本,它清除了不同域(.neobie.net,www.neobie.net,neobie.net)的cookie,以確保USER_INFO cookie完全清除了不同的域。

現在是問題所在。 用戶無法清除cookie時用戶訪問logout.php

我發現,我必須手動刪除與域「www.neobie.net」餅乾,留下了」 .neobie .net「完好無損,那麼只有cookie可以被清除。

因此,我必須讓php腳本在「.neobie.net」上設置USER_INFO,並阻止它在「www.neobie.net」上設置cookie以使logout.php腳本工作。

但我不明白爲什麼我不能清除的cookie的「www.neobie.net」(與領先的WWW。,在Firefox和Chrome測試)

回答

1

您有重疊的cookie域。 www.neobie.net將收到在.neobie.net上設置的cookie。所以不需要在兩個域上都設置相同的cookie。

如果您的註銷網址以http://www.neobie.net開頭,那麼您應該可以在www.neobie.net域中清除cookie。 HTTP標頭跟蹤將有所幫助。

+0

是的,我明白,www.neobie.net可以接收爲域.neobie.net設置的Cookie,但由於在腳本中不小心,我沒有爲setcookie()指定域,因此www.neobie.net域cookie已設置。 現在我想知道如何清除cookie,即使它是www.neobie.net。事實上,我從www.neobie.net註銷,但www.neobie.net域名cookie根本無法清除。 – neobie 2010-05-07 05:39:32