CakePHP1.3.6:セッション名を変える。
ここのところVPSの設定をしたり、開発機を整理したりといったことをしている。VPSは劇的に安くなっているので、簡単なサーバーならこれを使えば結構使えてしまうのがうれしい。AWSも今一つ価格が落ちないので、VPSが安くなったことで、移行をしている人も多いんじゃないかなと思う。
MTAの設定ではまってしまったが、今度、覚書にしよう。
そんなことを言っていたら、急にFLEX(ActionScript3)をやらなくてはならなくなってしまい、勉強を始めた。
HTML5をやろうとしてたのに。。。
Androidの依頼もきているから、どうなっちゃうことやら。
個人商店は忙しい。
さて、Cakeのつづき。
「セッション・コンタミネーション」という言葉があると思って、ググってみたが出てこない。
使っていたんだけど。。。
1つのサーバーに複数のサイトを立ち上げたとき、なんにもしないと、PHPならPHPSESSID、JavaEEならJSESSIONIDというセッション名が使われる。
この名前のCookieでセッションが維持されるので、複数のサイトが全く関係ないサイトの場合、認証が共有されるなどの事故が起こってしまう。
なので、セッション名は意識してコントロールしなくちゃならない。
CakePHPの場合、CAKEPHPというセッション名が使われる。
これは、/app/config/core.phpに設定されているので、以下のように変更する。
/**
* The name of CakePHP's session cookie.
*
* Note the guidelines for Session names states: "The session name references
* the session id in cookies and URLs. It should contain only alphanumeric
* characters."
* @link http://php.net/session_name
*/
// Configure::write('Session.cookie', 'CAKEPHP');
Configure::write('Session.cookie', 'OBSPHP');