クッキーのおいしい焼き方 (module)CGI-Cookie

back
■ 手作りで
print "Content-type: text/html\n";
print "Set-Cookie: key=value; expires=日付; domain=ドメイン名; path=パス名; secure";

key=value 以外は省略可能。
value は通常、URL エンコードしておく。
expires を省略した場合はそのセッションでのみ有効となり、ブラウザを閉じたり別の
リンクを辿ったりした時点で削除される。
secure は、付加すると、SSL 通信時のみに cookie の値をサーバへ送信するようになる。
SSL で暗号化された通信のみで使用する Web アプリケーションでは、必須のオプション。


■ 既製品で
use CGi::
use CGI::Cookie;
$cookie = new CGI::Cookie(-name => 'cookie-name',
                          -value => 'cookie-value',
                          -expires => '+1h');
print CGI::header(-type => 'text/html',
                  -cookie => $cookie);

セキュアオプションは、-secure => 1 を加える。
value の内容は、勝手に URL エンコードされる。

back