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

生成されるクッキーの形式を指定する。legacymodern から選択可能であり、後述の 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/