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');