[PHP-users 408] Re: PHPLIB、分散環境とsession id について

Naoaki Katsumata php-users@php.gr.jp
Fri, 29 Jun 2001 13:57:16 +0900


勝又です。

>渋谷です。
>
>> PHPLIBがsession idを振って、ログインしたあとどのようにログインした会員の
>> 認証をチェックしているかまだしっかりと把握していないのです。
>
>Cockie や URL から session id を受け取った場合、その ID が最終アクセス時間
>から lifetime で設定した時間内にあるかどうかを調べているだけです。

そうですか。あくまで有効期限チェックのみなんですね。
クッキー値のsession idが不正にユーザが変えたものだったとしたら、
DBを見に行って該当するセッションデータがないから、
"auth"の画面だったら再びログイン画面がでるってかんじなんでしょうね。


>> >ただ、ページを見るたびに update が実行されるので、PostgreSQL だと
>> >頻繁に vacuum しないといけませんが。
>> 
>> 毎回updateですか?
>> サーバが切り替わらなくてもupdateするのですか?
>> DBがたいへんですね。
>
>page_close した際に session の freez() を呼びます。
>そいつがセッション変数などを serialize して Container クラス内の
>ac_store() よ呼びます。PostgreSQL などを利用する場合は ct_sql.inc です。
>そこで、update を行うようになっています。
>ということで、結構ばかにならない数呼ばれることになります。
>私は PHPLIB for PHP4 を使うようにしています。これであればセッション関係の
>情報はファイルに保存されるので結構早いです。
>複数サーバで使うには NFS なり方法を考える必要はありますが。

なるほど。。。あんまり頻繁に更新されるってやですね。
PHPLIB for PHP4なんてあるんですね。知りませんでした。
でもファイルは後々面倒そうですね。

どうも、ありがとうございました。