[僕] CGI::Application::Plugin::Session で、cookie の名前を変更する。

僕ト云フ事

たろマークはてなブックマーク

2005年06月21日

[cgi-app][perl] CGI::Application::Plugin::Session で、cookie の名前を変更する。

タイトル長ぇ('A`)

こんな感じで、COOKIE_PARAMS を渡すと、cookie の名前は確かに変わるけど、session が維持されません。実行されるたびに新しい session ID が発行されてしまう。多分、CGI::Session->name がデフォルトのままだからだと思う。(さらっとソース読んだ限りでは。)

$self->session_config(
    CGI_SESSION_OPTIONS => [ ("driver:MySQL;", $self->query, {Handle => $self->param('mydbh'), TableName=> 'hoge' }) ],
    DEFAULT_EXPIRY      => '+1h',
    COOKIE_PARAMS       => {
                            -name    => 'hoge',
                            -path    => '/hoge'
                            },
    SEND_COOKIE         => 1,
);

以下のようにやると、CGI::Session->name も変えてくれます。

$self->session_config(
    CGI_SESSION_OPTIONS => [ ("driver:MySQL;", $self->query, {Handle => $self->param('mydbh'), TableName=> 'hoge' }) ],
    DEFAULT_EXPIRY      => '+1h',
    COOKIE_PARAMS       => { -path    => '/hoge' },
    SEND_COOKIE         => 1,
);
$self->session_cookie(-name => 'admin');

CGI::Application::Plugin::Session は、0.07。
おかしなこと言っているように見えたら突っ込みください、誰か(;'-')
というか、Changes に載ってるバグって、これのことか('-';)

トラックバック

このエントリーのトラックバックURL:
http://vkgtaro.jp/cgi-bin/mt/mt-tb.cgi/447

コメント

# アナスタシア (2006年11月27日 05:52)

相手に毎回違うcookieを送る方法ってあるのでしょうか?
もし有れば、所在を隠す事が出来ると思うのですが・・・・
これ+プロクシで所在は全く分からなくなるような。
そのようなソフトがあれば、秘密保持に一役買ってくれそうな気がします。
もちろん、悪用厳禁でしょうが、これで悪用できるのか?とも思います・・・

# 海賊たろ [TypeKey Profile Page] (2006年11月27日 10:24)

意図したい事がちょっと理解しかねるのですが、毎回違う内容の cookie を送ることは可能だと思います。

所在を隠すとか何とかって言うのは client サイドの話ですか?

コメントを投稿