- 205 名前:nobodyさん mailto:sage [2008/02/06(水) 11:08:34 ID:???]
- >>202
PHP独自セッションは、スケーラビリティを考慮されていない設計になっていることと、 セキュリティの問題の2点からCIでは独自のセッションデータを保持するようにしていると思われる。 簡単に言うと、(うそ書いてるかも知れないからごめんね、一応自分で調べてみてください) 1.スケーラビリティの考慮漏れ PHPはセッションデータをサーバの内部に保存する為、負荷分散を考えてサーバを2台に増設したと仮定した場合、 直接アクセスがあった1台のサーバには対象ユーザーのセッションデータが保存され、 もう一方のサーバにはセッションデータが保存されない、負荷分散時のロードバランサー、サーバなどの設定によっては、 2つのサーバ同士でセッションデータ共有がされずにセッション情報がうまく引き継がれない可能性がある。 なので、PHPのセッションを利用しているときに1度目と2度目のユーザーのアクセスが異なるサーバに行った場合にセッションデータが引き継がれない・・・。 2.セキュリティの観点 PHPSESSIONID(こんなんだったけ?)をキーにサーバにセッションデータを登録するから 適当な値で他人のセッションデータが簡単に盗めてしまう可能性がある。(改善されたのかな?) 例えば、ログイン情報をセッションに持っている作りのサイトで、 「http://????.com/login.php?PHPSESSIONID=aaaa」見たいなリンクが張られていてこのリンクをたどってログインした場合に、 他人が「????.com/info.php?PHPSESSIONID=aaaa」とアクセスすると セッションタイムアウトが発生していない限り他人のセッション(この場合「aaaa」というPHPSESSIONIDでログインした人のセッション)をのっとる事が出来る脆弱性があってこれについて、 独自に解決をしていると思われる。 たしか、こんな感じだったと思う。 間違えているかもしれないので、申し訳ないですがPHP独自セッションのまずい点は色々なサイトに載っているからあさって調べてみて・・・。 俺も、だいぶ前に調べたから・・・。
|

|