バージョン選択

フォーラム

メニュー

オンライン状況

208 人のユーザが現在オンラインです。 (191 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 208
もっと...

サイト内検索

質問 > その他 > セッションがうまくタイムアウトされません

その他

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
pantacle
投稿日時: 2010/10/3 16:36
対応状況: −−−
長老
登録日: 2009/6/29
居住地: 富山
投稿: 242
Re: セッションがうまくタイムアウトされません
session_set_save_handler()の仕様を理解する必要は通常有りません。
セッションの保存方法がDB等に変更されているだけで、特別な違いは無いと考えて良いです。

> そこでEC CUBEでは、通常のセッションの他にDBで管理しているセッションがありました。
> PHP.iniの設定を変更し、短い時間でタイムアウトを起こそうとしても
> DBで管理しているセッションが存在す限りセッション切れにならないようです。
> その有効期限は、mtb_constants.phpの「MAX_LIFETIME」で管理されていました。

PHPセッションは、その保存先がファイルであれDBであれ、php.ini等で設定した期間以上更新が無いものをガベージコレクションの対象にし、セッションIDと関連するデータを削除します。
また、ガベージコレクションは毎アクセスごとには行なわれず、同じくphp.ini等で設定した確率に従って実行されます。
EC-CUBEのSC_Helper_Session::sfSessGc()はガベージコレクション時に実行される処理である為、MAX_LIFETIMEをどのように設定しても、ガベージコレクション自体が確率で制御される限りは確実にMAX_LIFETIMEでセッションが無効になる事は保証されません。
うろ覚えですが、ガベージコレクションが行なわれない限り、PHPセッションは生きていると考えて良かったはずです。


> また、通常のセッションが切れてDBのセッションが切れていない場合や
> 通常のセッションは切れず、DBのセッションが切れた場合のセッションIDは
> どうなっているのでしょうか?

セッションCookieの生存と、PHPセッションの生存を混同されているように思われます。

hatakeさんが言われる「通常のセッションが切れ(セッションCookieが失効)」「DBのセッションが切れていない(PHPセッションは生きている)」場合、何らかの方法でセッションIDを指定されるとPHPセッションは継続して使用されます。
「通常のセッションは切れず(セッションCookieは有効)」「DBのセッションが切れた(PHPセッションが削除)」場合は、そのセッションIDで新規の(空の)セッションが作成されます。


Zend Frameworkでもセッションの有効期間管理はプログラムで行なっていますので、PHPのセッション機構のみではセッションタイムアウトを実現できないと考えたほうが良いです。
ほんの数行プログラムに書き加えるだけで十分機能します。


----------------
pantacle
http://pantacle.net/

フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   セッションがうまくタイムアウトされません hatake 2010/10/2 21:28
     Re: セッションがうまくタイムアウトされません seasoft 2010/10/2 22:24
       Re: セッションがうまくタイムアウトされません hatake 2010/10/3 14:30
       » Re: セッションがうまくタイムアウトされません pantacle 2010/10/3 16:36
           Re: セッションがうまくタイムアウトされません hatake 2010/10/3 17:34
             Re: セッションがうまくタイムアウトされません pantacle 2010/10/3 20:43
               Re: セッションがうまくタイムアウトされません hatake 2010/10/4 12:06
                 Re: セッションがうまくタイムアウトされません pantacle 2010/10/4 14:39
                   Re: セッションがうまくタイムアウトされません hatake 2010/10/5 15:13
                     Re: セッションがうまくタイムアウトされません habu 2013/3/18 13:55
     Re: セッションがうまくタイムアウトされません pantacle 2010/10/3 1:48

 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,170名です
総投稿数は110,324件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1682
8
red
1571
9
mcontact
1351
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.