2011-01-31 10 views
1

Firefox 3.6.10(OS X Intel)を使用していて、ブラウザは古いCookieを期限切れにする代わりに新しいCookieを収集します。Firefoxが期限切れになっていないPerl CGI :: Cookie cookies

これらのクッキーは、PerlのCGIおよびCGI::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. 私は新しい有効期限が
をさかのぼると、スクリプトがクッキーを追加し、私は
  • 再び「addCookie」スクリプトを実行するクッキーの有効期限が
  • を変更しないでください
  • 「clearCookie」スクリプトを実行します

    私は続けることができ、Firefoxはどれも失効させることなく、より多くのクッキーを蓄積するだけです。

    私のスクリプトは現在のバージョンのGoogle ChromeとApple Safariで動作しますが、Firefoxは協力していないようです。

    設定がありません。これは、FirefoxにCookieの有効期限を調整するよう正しく指示しますか?

    ご協力いただきありがとうございます。

  • 答えて

    3

    Firefoxの場合はknown and frustrating bugのようです。

    +0

    うんうん、これがCPANTestersのフィルタ設定クッキーがそれ自体を削除していないように見えるのはなぜだろう...接線的に関連しているだけですが、ここ数日間は私が欲しがっていた不満です。 :-) –

    関連する問題