2011-01-06 6 views
0

私はネイティブセッションクラスにアプリケーションを切り替えたので、IEとセッションに関するいくつかの問題のためコードネイターです。しかし、今、このセッションクラスは非常に迅速に人々をログに記録しているようです。私はすべてのコードを熟読し、問題を見つけることができないようです。ここにネイティブセッションクラスがあります:http://ellislab.com/codeigniter/wiki/Native_session/Codeigniterのネイティブセッションクラスに関する問題

また、すべての設定値がデフォルト設定です。私はこれがネイティブセッションの失敗か自分のものかどうか疑問に思います。私はユーザーがログインしているかどうかを判断するために使用される別のスクリプトでbool varを使用します。ところで

、CodeIgniterの1.7.3、PHP 5

+0

詳細ブログ:http://goo.gl/EeUgk2 –

答えて

0

答えは「データベースを使用する」でした。セッションデータ用のデータベースを使用するCIの能力を使用するだけで終わりました。 http://ellislab.com/codeigniter/user_guide/libraries/sessions.html「セッションデータをデータベースに保存する」を参照してください。

+0

ああ、私も決して*唯一の* IEはこれを通常のセッションで行う理由を考え出したことはありません。ああ、私は推測する。 –

+0

申し訳ありませんタイラー、正規表現ですか?私は迷子になった。これを少し説明できますか? –

+0

haha​​ *正規表現*、**通常セッション**、デフォルトのセッションエンジンCIと同じです。 –

0

セッションは、PHPのセッションとは関係ありませんCodeIgniters。ユーザーとの関連付けを失うことなく、5分ごとに更新されます。これは、セッションスティールを防止するためのセキュリティ機能です。セッションを利用可能にするには、設定でタイムアウトをカスタマイズする必要があります。

$config['sess_expiration']  = 7200; 
$config['sess_time_to_update'] = $config['sess_expiration']; 

ここで、CIがセッションを更新するまでの時間は、通常のセッションの有効期限と同じです。

0

博士コロッソスは低い値に維持されなければならないことが

$config['sess_expiration'] = 7200;

しかし「を更新するための時間」を書き換えるために大丈夫だ、言うように。このパラメータは、セッション奪取を回避するために使用されるセッションID再生成の頻度を設定します。これは、セッションの有効期限を意味するものではありません。

IEとCIセッションについて覚えている唯一の問題は、coockieセッションの名前にCIが使用されていないことです。これはIEには好きではないことです。セッション設定ファイルで名前を変更すると問題は消えます。

+0

私はすべての変数がデフォルトに設定されていると言っているので、セッションの有効期限が含まれています。セッションは通常5分以上持続しません。 –

+0

あなたは質問をリバンプしました!おそらく私は新しい答えを持っています;)IEはセッションを識別するクッキーを殺しません。それはときどき発生し、IEでのみ発生します。セッションデータを格納することで問題がどのように影響を受けるのか(と解決できるかどうかはわかりませんが、IEの問題の一部は、日付のように推測できますが自由に変更できるものに基づいています。興味深いもの: –

+0

これはIEのセキュリティですか?そして、なぜこの問題はより頻繁に起こりませんか? –

関連する問題