NAME
Tripletail::Cookie - 独自のクッキー管理を行う
SYNOPSIS
my $cookie = $TL->getCookie;
my $form = $cookie->get('Cookie1');
my $val = $form->get('key1');
$form->set(key2 => 100);
$cookie->set('Cookie1' => $form);
DESCRIPTION
Tripletail::Form クラスのインスタンスをクッキーに保存し、 また、クッキーから Tripletail::Form を取り出す。
クッキー有効期限、ドメイン、パス等は、 ini ファイルで指定する。
METHODS
$TL->getCookie
-
$cookie = $TL->getCookie($inigroup) $cookie = $TL->getCookie('Cookie')
Tripletail::Cookie オブジェクトを取得。 引数には Ini で設定したグループ名を渡す。 引数省略時は 'Cookie' グループが使用される。
get
-
$Form_obj = $cookie->get($cookiename)
指定された名前のクッキーの内容を Tripletail::Form のインスタンスに変換し、返す。 返された Tripletail::Form インスタンスへの変更はクッキーへ反映されない。
set
-
$cookie->set($cookiename => $Form_obj)
Tripletail::Form クラスのインスタンスの内容を、指定された名前のクッキーとしてセットする。
delete
-
$cookie->delete($cookiename)
クッキーを消去する。
clear
-
$cookie->clear
全てのクッキーを削除する。
Ini パラメータ
- format
-
format = modern
生成されるクッキーの形式を指定する。
legacy
とmodern
から選択可能であり、後述のcryptokey
が存在すればデフォルトがmodern
に、存在すればlegacy
になる。modern
は AES によるクッキーの暗号化や ZLIB による圧縮、Adler-32 チェックサムによる誤り検出にも対応した非常にコンパクトな形式であるが、この形式で生成されたクッキーは Tripletail のバージョン 0.50 以降でなければ読み取る事ができない。なお
modern
に設定されている場合であっても、legacy
形式(すなわちバージョン 0.49 以前の形式)のクッキーは読み取り可能である。 - cryptokey
-
cryptokey = Lorem ipsum dolor sit amet, consectetur adipisicing elit
クッキーの暗号化に使用する鍵であり、省略可能。これを指定した場合には "format" を
modern
とするか、もしくは省略しなければならない。 - path
-
path = /cgi-bin
クッキーのパス。省略可能。デフォルトは省略した場合と同様。
- domain
-
domain = example.org
クッキーのドメイン。省略可能。デフォルトは省略した場合と同様。
- expires
-
expires = 30 days
クッキー有効期限。 度量衡 参照。省略可能。 省略時はブラウザが閉じられるまでとなる。
- secure
-
secure = 1
secure
フラグの有無。省略可能。 1の場合、secure
フラグを付ける。 0の場合、secure
フラグを付けない。 デフォルトは0。 - httponly
-
httponly = 1
httponly
フラグの有無。省略可能。 1の場合、httponly
フラグを付ける。 0の場合、httponly
フラグを付けない。 デフォルトは0。 現状では IE でしか意味が無い。
SEE ALSO
- Tripletail
- Tripletail::RawCookie
-
Tripletail::Form でなく生の文字列を扱うクッキークラス。
- Tripletail::Form
AUTHOR INFORMATION
Copyright 2006 YMIRLINK Inc.
This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself
このフレームワークはフリーソフトウェアです。あなたは Perl と同じライセンスの 元で再配布及び変更を行うことが出来ます。
Address bug reports and comments to: tl@tripletail.jp
HP : http://tripletail.jp/