Я использую Firefox 3.6.10 (OS X Intel), и браузер собирает новые куки, вместо того, чтобы истечь («удалить») старые куки.
Эти файлы cookie создаются и добавляются с помощью модулей Perl's 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"
- Скрипт добавляет куки
- Я запускаю скрипт «clearCookie»
- Срок годности файлов cookie не меняется
- Я снова запускаю скрипт «addCookie»
- Скриптдобавляет файл cookie с новыми датами истечения срока действия
Я могу продолжать, и Firefox просто накапливает больше файлов cookie, не истек ни один из них.
Мои сценарии работают в текущих версиях Google Chrome и AppleSafari, но Firefox, кажется, не сотрудничает.
Есть ли параметр, который мне не хватает, который правильно сообщит Firefox о корректировке даты окончания срока действия моего cookie?
Спасибо за ваш совет.