※ ChatGPTを利用し、要約された質問です(原文:Cookieの期限設定の書式について)
Cookieの期限設定の書式について
このQ&Aのポイント
ASPでCookieの期限を設定しているが、期限が正しく設定されない問題が発生している。
Cookieの期限の書式は特定の形式でなければ正しく設定されないことが分かった。
次回は書式に厳密に従ってCookieの期限を設定する必要がある。
現在ASPでCookieを使用しております。以下のように、
Response.Cookies("UserID")=UserID
Response.Cookies("UserID").Domain="aaaa.co.jp"
Response.Cookies("UserID").Expires= DateAdd("n",5, Now)
Response.Cookies("UserID").Path="/"
Response.Cookies("ItemID")=ItemID
Response.Cookies("ItemID").Domain="aaaa.co.jp"
Response.Cookies("ItemID").Expires= DateAdd("n",5, Now)
Response.Cookies("ItemID").Path="/"
の様に期限の設定をしているのですが、上手く期限が設定できていないのか、
期限時刻を過ぎてもCookieが残ってしまいます。
Cookieの期限の書式は、
[書式]Sun, 21-Feb-2002 02:22:54 GMT
と決められている様ですが、上記のASPの場合
2005/07/10 22:15:42
という値が入っているから期限が上手く設定できていないのでしょうか?
分刻みで時間を足したいのですが、上記のCookieの書式のように、曜日から
きちんと同じ書式で無いと期限は上手く設定されないのでしょうか?
お礼
問題解決を確認したテストスクリプト ■Cookie書き込み用スクリプト - [CookieWriteTest.asp] <% CheckValue="いろはにほへと" WriteTime=Now Response.Cookies("CheckValue")=CheckValue Response.Cookies("CheckValue").Domain="aaaa.co.jp" Response.Cookies("CheckValue").Expires= DateAdd("n", 3, Now) Response.Cookies("CheckValue").Path="/" Response.Cookies("WriteTime")=WriteTime Response.Cookies("WriteTime").Domain="aaaa.co.jp" Response.Cookies("WriteTime").Expires= DateAdd("n", 3, Now) Response.Cookies("WriteTime").Path="/" %> ■Cookie読み込み用スクリプト - [CookieWriteTestCheck.asp] <html> <head> <title></title> </head> <body> <% CheckValue=Request.Cookies("CheckValue") WriteTime=Request.Cookies("WriteTime") %> CheckValue:<%=CheckValue%><br> WriteTime:<%=WriteTime%><br> 現在の時刻:<%=Now%><br> </body> </html> ■Cookie削除用スクリプト - [CookieWriteDel.asp] <% CheckValue=Request.Cookies("CheckValue") WriteTime=Request.Cookies("WriteTime") Response.Cookies("CheckValue")=CheckValue Response.Cookies("CheckValue").Domain="aaaa.co.jp" Response.Cookies("CheckValue").Expires = DateAdd("d", -1, Now) Response.Cookies("CheckValue").Path="/" Response.Cookies("WriteTime")=WriteTime Response.Cookies("WriteTime").Domain="aaaa.co.jp" Response.Cookies("WriteTime").Expires = DateAdd("d", -1, Now) Response.Cookies("WriteTime").Path="/" %>
補足
ご回答ありがとうございます。 まず、 >一時フォルダにファイルが残っていても、有効期限が切れていればCookie >は送られないはずです。 こちらについては、テンポラリーファイルの削除は行わずにテストしており ますので、テンポラリーに残っているキャッシュファイルの有無が問題では ないようです。 >これはあくまでASP内での情報の保持であって、レスポンスとして送られるときはちゃ >んとした書式になって出力されます。 こちらのご回答を参考に、再度基本的な以下の様なASPを作成しテストしたところ、問題なく期限設定は出来ているようです。使用したいスクリプト上に問題があるように思わ れますので、使用したいスクリプト上でのCookieの期限設定に問題がないかどうか、 再度別質問として投稿させて頂きたいと思います。 お礼と致しまして、お礼文のところに、今回テストに使用しましたスクリプトを掲載 致しますので、今後どなたかが同じ問題で悩まれたときの参考になれば幸いです。