2012-02-24 43 views
3

私はちょうど興味があります。セッションIDが更新されている場所を見たメソッドがあります。私はセッションの重要性を知っていますが、なぜ私はセッションIDが更新されているのか分かりません。講演ID:なぜそれを更新する必要がありますか?

ここでCodeIgniter(PHPフレームワーク)では、セッションIDはデフォルトで5分ごとに更新されます。ここで話しているセキュリティ上の問題ですか?ちょうど知りたいです。誰にもお返事ありがとう! :)

+0

['session-fixation'](http://en.wikipedia.org/wiki/Session_fixation)の防止。 – Wrikken

答えて

2

頻繁に更新する必要があります。

あなたはオンラインベーキングサイトにログインしています。もちろん、あなたのセッションには一意のセッションIDがあります。しかし、それが頻繁に更新されない場合、誰かがXSSトリックを使ってあなたのセッションIDを取得し、あなたのセッションIDを彼のブラウザとプラグインに差し込むことができます!彼はあなたの資格情報を使ってログインしています!

サーバーは、自分のセッションIDを使用して以来、誰がサイトにアクセスしているのか分からなくなります。

http://en.wikipedia.org/wiki/Session_hijacking

+0

これは私が最初に考えていたものでした。確認していただきありがとうございます。 :) – user979023

0

主な理由は、セッションハイジャックを防ぐためです。セッションをハイジャックする方法のリストは、このウィキペディアarticleにあります。 prevent session fixationに、この記事は良いです。

セッションIDを頻繁にリフレッシュすると、盗まれたセッションIDは攻撃者にとってあまり役に立ちません。あなたの例では、セッションIDを盗むのに5分以上かかることがあります。その後、期限切れになると役に立たなくなります。

あなたのセッションIDを盗むことによって、攻撃者は自分の身元を引き受け、あなたがすることができるすべての行動を実行することができます。

0

セッションIDを再生成する理由の1つは、セッションハイジャックを防ぐことです。

セッションのハイジャックは、ハッカーがユーザーのセッションIDである を知り、そのユーザーであるとふりまとうときに使用されます。

詳しくはPHP Security guideを参照してください。

関連する問題