それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

[PHP,ZF] クッキーへセッションIDを保存すると、強制的に再生成されてしまう

PHPのZendFrameworkの話です。

Zend_Session::rememberMe()でクッキーへセッションIDの保存をするようにすると
リクエストの度に強制的にsession_regenerate_id()されるようになる。

それで何がいけないかと言うと、この辺↓

  • モバイル等でセッションIDをGETパラメータにもたす場合は、
    ブラウザバックするとセッションが切れる。
  • GETパラメータへ入れていない場合でも素早くリンクを2連打するとセッションが切れる。

うーん、セキュリティとのトレードオフとは言え、割と見過ごせない感じ・・・。
無料のWebサービスなら、再生成より重視したいところだと思います。

この設定を正式にOFFにすることは出来ないっぽくて、
どうしてもOFFりたい場合は、Zend_Session::regenerateId()内でsession_regenerate_id()している部分を、直接コメントアウトして対処するしか無いみたいです。(v1.5.1時点)

・・・と、また無理矢理記事を書いてみた。


3 Responses to “[PHP,ZF] クッキーへセッションIDを保存すると、強制的に再生成されてしまう”

  • pasela より:

    要するにiモードは早くCookieサポートしろよってことですね。わかります。

  • nobu より:

    やっぱsession_idまわりって色々とメンドクサイ事が多いっすよねぇ。

  • kjirou より:

    > pasela
    iモード系ダメなんすかー
    自分のが古いAUの機種で、それはCookie対応してたので、もしやもう考えなくていいのかと思ってたんだけど
    > nobu
    面倒すなぁ
    いざとなればサイト全体をSSLにしちゃえ!
    という対処が取れるなら助かる


コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives