だから私は Perl の CGI モジュールを使用してクッキーを作成しています。
my $cookie = CGI::Cookie->new(-name => "$name",
-value => "$val",
-expires => "$expiration_date",
-path => $cookie_path,
-secure => 0
);
print "Set-Cookie: $cookie\n";
そして、クッキーはブラウザに設定されていますが、唯一の問題は、時間と私が入れた有効期限が一致しないことです。たとえば、有効期限に +1d を入力すると、実際には +1d - 数時間のようになります。システム時刻をチェックして、それが問題かどうかを確認しましたが、システム時刻は正しいです。次に、Cookie を印刷したところ、次のようになりました。
Actual Time of cookie creation: 6/4/2012 12:10:02 PM
COOKIE: session_id=534fec49c864d8cf0325779b0921b6be1338829802484; path=/; expires=Tue, 05-Jun-2012 17:10:02 GMT
上記の重要な点は、perl の 'localtime(time())' 関数を使用して Cookie 作成の実際の時刻を記録することですが、これは私の date コマンドが出力する時刻とは異なる時刻を記録することです (したがって、実際の現在時刻ではありません)。そして、Cookie の有効期限は実際には正しいのですが、タイム ゾーンが正しくありません。
date
したがって、コマンドを実行すると、サーバーは東部タイムゾーンになります。
Mon Jun 4 12:05:12 EST 2012
ただし、タイムゾーンとして GMT を使用して Cookie が設定されており、これが問題だと思います。だけでなく、サーバーに設定する必要がある別の時間はありますdate
か? それがまったく役立つ場合、私はCentOS 5で実行しています。ありがとう!