-
Notifications
You must be signed in to change notification settings - Fork 7
Mojolicious::Sessions
Mojolicious::Sessions - 暗号化されたクッキーに基づくセッション
use Mojolicious::Sessions;
my $sessions = Mojolicious::Sessions->new;
Mojolicious::Sessionsはとても簡単な暗号化クッキーに基づくセッションの実装です。 すべてのデータはMojo::JSONによってシリアライズされ、 クライアント側に保存されますが、署名によって 望まない変更を防ぐことができます。
Mojolicious::Sessionsは次の属性を実装しています。
my $domain = $session->cookie_domain;
$session = $session->cookie_domain('.example.com');
セッションクッキーのためのドメイン。 デフォルトは定義されていません。
my $name = $session->cookie_name;
$session = $session->cookie_name('session');
セッションデータを保存するのに利用される暗号化されたクッキーの名前。 デフォルトはmojolicious
。
my $path = $session->cookie_path;
$session = $session->cookie_path('/foo');
セッションクッキーのためのパス。デフォルトは/
。
my $time = $session->default_expiration;
$session = $session->default_expiration(3600);
今から有効期限に至るまでのセッションの秒数。 デフォルトは3600
。 毎回のリクエストで有効期限のタイムアウトはリフレッシュされます。 この値を0
に設定すると、ブラウザーのウインドウが閉じられるまでセッションを永続化することができますが、 セキュリティの問題を引き起こすかもしれません。 より調節するには、セッションのexpires
の値を利用して、有効期限の日付を特定の時間にエポック秒で指定してください。
# 今から一週間後
$c->session(expires => time + 604800);
# とてもとても過去に設定
$c->session(expires => 1);
my $secure = $session->secure;
$session = $session->secure(1);
すべてのセッションクッキーにセキュアフラグを設定します。 ブラウザーはクッキーをHTTPS接続のみによって送信することができます。
Mojolicious::SessionsはMojo::Baseからすべてのメソッドを 実装しており、次のメソッドを実装しています。
$session->load($c);
セッションデータを暗号化されたデータからロードします。
$session->store($c);
暗号化されたクッキーにセッションのデータを保存します。
Mojolicious, Mojolicious::Guides, http://mojolicio.us.
(2012/6/7更新)
Mojolicious日本語訳は「Perlゼミ制作」です。