旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

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

2008年5月8日

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時点)

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