Firefox не удаляет просроченный Perl CGI :: Cookie cookie - PullRequest
2 голосов
/ 31 января 2011

Я использую 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);                                                                                                                                                                                     
    # ...
}

Вот что происходит:

  1. Я запускаю скрипт "addCookie"
  2. Скрипт добавляет куки
  3. Я запускаю скрипт «clearCookie»
  4. Срок годности файлов cookie не меняется
  5. Я снова запускаю скрипт «addCookie»
  6. Скриптдобавляет файл cookie с новыми датами истечения срока действия

Я могу продолжать, и Firefox просто накапливает больше файлов cookie, не истек ни один из них.

Мои сценарии работают в текущих версиях Google Chrome и AppleSafari, но Firefox, кажется, не сотрудничает.

Есть ли параметр, который мне не хватает, который правильно сообщит Firefox о корректировке даты окончания срока действия моего cookie?

Спасибо за ваш совет.

1 Ответ

4 голосов
/ 31 января 2011
...