2012-05-09 10 views
1

私は、データベース内のセッションを保存するCodeIgniterセットを持っていますが、まだそれは、次のクッキーであることを主張している:それはまた、中に起こっているなぜ私にはわからないこのすべてがdefault_ci_sessionsでもあるなぜCodeIgniterはあまりにも多くのデータをそのクッキーに保存しますか?

a:4:{ 
s:10:"session_id";s:32:"191668b039f27f1a4fa25586aaaf708e"; 
s:10:"ip_address";s:14:"123.12.123.123"; 
s:10:"user_agent";s:50:"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko"; 
s:13:"last_activity";i:1336549698; 
}9fed5a2005d9df3ccedff9589aa7d36f 

クッキー!私はユーザー識別可能なデータのローカルストレージに関する新しいEUのクッキー法のために頼んでいます。私はこれが法律に該当するかどうか完全には分かっていないが、懸念が高まっている。

+0

あなたはあまり心配しないでください。世界のほとんどのサイトでこれが行われています。 – OptimusCrime

+0

これはPyroCMSとは関係ありません。CIがどのように動作するかです。あなたの質問と私を修正してください。@ narfbgはこれを他のCodeIgniter開発者と議論します。 –

答えて

1

これは、CodeIgniterセッションライブラリのロジック(PyroCMSはCIで構築されているため)から得られます。私は現在、なぜそれがそのように作られたのかをあなたに伝えることはできませんが、そのようなデータをクッキー自体に別々に保存する必要はありません。私はそれについての議論を開いて、ここにリンクを張って追跡します。

編集:https://github.com/EllisLab/CodeIgniter/issues/1344

1

私は、これはCI Sessionクラスとあなたが設定できるの好みに行うことです確信しています。

スクリプトがCookieの有効性をチェックすると、DBセッションを使用しているかどうかに関係なく、入力クラスの現在のユーザーエージェントデータに対してIPアドレスとUA文字列をチェックします(sess_read() )を使用してCookieを検証します。 DBを使用している場合は、DBデータをクッキーデータと照合してチェックします。

ハッキングの試みを防ぐためにスクリプトがこれを行います。誰かが理論的に正しいsession_id、IPアドレス、またはUA文字列を推測したり盗聴したりする可能性がありますが、3つすべてがはるかに難しくなります。

ここにhttp://codeigniter.com/user_guide/libraries/sessions.html

+0

これはローカルマシンに保存されている理由を説明していません。ネイティブのPHPセッションと同じように、サーバー上でセッションIDを保存するだけです。 – Matthew

+0

はい、そうです - このスクリプトは、 UAの詳細とDB。 –

+0

セッションに格納されているUAの詳細(その他)の違いはわかりません。 – Matthew

関連する問題