2009-08-04 10 views
2

私はPHPSESSIDをどう保護するかについて本当に無知です。 session_idの値はPHPSESSIDから来ますか? session_idが侵害された場合、それは悲惨です。誰にでもアイデアはありますか?ここでPHPでPHPSESSIDを保護するには?

答えて

3

は、PHPでのセッションのセキュリティを説明するPHPマニュアルからの記事です:link

おそらくあなたのセッションを保護するための最も効果的な方法は、あなたのサイト上でSSLを有効にすることやクッキーにセッションIDの保存を強制します。その後、クッキーは暗号化され、サイトに渡され、十分な保護が保証されます。

0

session_idは、ユーザーシステムのCookieに格納されます。あなたはそれを保護することによって何を意味するか分かりません。

+0

ああ、私は、セッションのハイジャックを防止することを意味しています..まあ、私はこのセッションのものにもかかわらず.. – bbtang

2

RaYellが言ったようにあなたは、HTTPSを使用することができますが、証明書を買う余裕ができない場合でもHTTPとのセッションを確保するためのいくつかの方法があります。

  • ストアのセッションでユーザーエージェントは、ときにセッションを作成します。リクエストごとにユーザーエージェントを確認してください。ユーザーエージェントが変更された場合は、セッションを削除します。
  • 上記と同じですが、IPアドレスを使用しています。面倒なことに、多くのISPが動的IPを提供しており、セッションを違法に削除することができます。
  • セッションタイムアウトを低く設定します。これにより、セッションのハイジャックは防げませんが、リスクが軽減されます。注意してください、これはユーザーを悩ますことができます。
  • セッションの有効期間を低く設定します(1日)。これにより、ユーザーは1日後に再認証されるため、セッションがハイジャックされても、1日以上ハイジャックされることはありません。

これらのアドバイスは、セッションのハイジャックを防ぐことはできません。彼らは劇的にリスクを減らしますが、HTTPSを使用しない限り、常にリスクが存在します。

+0

私はセッションを削除しませんが、ただ新しいものを作成します。 – Gumbo

関連する問題