1
我使用的是Firefox 3.6.10(OS X Intel),瀏覽器收集新的Cookie,而不是過期(「刪除」)舊的Cookie。Firefox不刪除過期的Perl CGI :: Cookie cookies
這些cookies是通過Perl的CGI
和CGI::Cookie
模塊創建和添加的。
我創建並添加一個cookie如下:
my $myNewCookie = new CGI::Cookie(-name => "$myCookieName",
-value => { 'key1' => $value1, 'key2' => $value2 },
-expires => '+8h',
-secure => 1
);
print redirect(-URL => "$hostURL$redirect",
-cookie => $myNewCookie);
下面是我試圖讓他們到期:
sub clearCookie {
my $myOldCookie = cookie(-name => "$myCookieName",
-value => '',
-expires => '-1d',
-secure => 1);
print header(-cookie=>$myOldCookie);
# ...
}
這裏是發生了什麼:
- 我運行「addCookie」腳本
- 腳本添加cookie
- 我跑了「clearCookie」腳本
- 的cookie的到期日期不會改變
- 我再次運行「的addCookie」腳本
- 該腳本將用更新過期餅乾日期
我可以繼續前進,Firefox只會累積更多餅乾而不會過期任何餅乾。
我的腳本在谷歌瀏覽器和Apple Safari的當前版本下工作,但Firefox似乎不合作。
有沒有我缺少的設置,它會正確地告訴Firefox調整我的cookie的到期日期?
感謝您的建議。
嗯,我想知道這是爲什麼CPANTesters過濾器偏好cookie似乎也不會刪除它自己......只有切線相關,但在過去幾天我感到沮喪。 :-) – 2011-01-31 15:52:17