HttpSession
には、名前、パスワード、電子メールなどのユーザーデータがsetAttribute
で保存されています。重要なデータをHttpSessionに保存するのは安全ですか?
HttpSession
に重要なデータを保存するのが安全かどうかを知りたいです。
HttpSession
には、名前、パスワード、電子メールなどのユーザーデータがsetAttribute
で保存されています。重要なデータをHttpSessionに保存するのは安全ですか?
HttpSession
に重要なデータを保存するのが安全かどうかを知りたいです。
(ログインしながら、有効性をチェックする)は、次のユーザー・リポジトリの1つにログイン情報を保存してみてください。
これは、認証オプションの完全なリストではありません。
少なくともログインやその他の機密データとしてSSL/HTTPSを使用する必要があります。
は、この記事を見てみましょう:What is the best way to prevent session hijacking?
は、いくつかのセキュリティ問題もここで言及されています:What should every programmer know about web development?
しかし、セッションに保存されたデータはサーバから外に出ることはありません。 – mulax
@mulax編集を参照してください。 –
理想の練習はNEVERにあるhttp://en.wikipedia.org/wiki/Session_hijacking
そして、ここではその問題に素敵SOの議論でありますアプリケーションの任意の手段でパスワードを保存します。理想的には、DBベースの認証を使用するかLDAP認証を使用する場合は、パスワードをDBのユーザーテーブルに暗号化して保存する必要があります。
正常に認証された後、httpセッションで電子メールや名前などのフィールドを保持できます。セッションでのユーザー名の保持(一意)とプロファイル情報は、データベースの読み取りを実行することにより、このユーザー名に基づいてデータベースから読み取られる必要があります。 はこの情報をクッキーに保存して、頻繁な訪問者に情報を簡単に再登録することができます。
最も重要なことは、隠し変数、クッキー、またはクエリ文字列にパスワードを保存しないことです。
保持しなければならない機密情報はすべてSESSIONに存在する必要がありますが、暗号化されている必要があります。
なぜパスワードをHttpSessionオブジェクトに保存する必要がありますか? – systempuntoout
セッション、クッキー、データベース、キャッシュ(CPUのものを除く:p)、または短命の変数ではないもの。 – ThiefMaster
本当にパスワードを保存する必要はありませんが、jspとel-expresionからすばやくアクセスできるように他のユーザーデータを保存する必要はありません。 Beanにユーザーデータを保存することもできます。 – mulax