2016-05-18 7 views
0

ログイン中に、私はデータベースからパスワードを取得してユーザ入力パスワードと比較し、比較が成功すれば、そのパスワードをSetterメソッドを使用して変数に保存していますパスワードの変更方法でさらに使用します。Javaの変更管理パスワードの正しいアプローチ

パスワードの変更方法以前のパスワードのユーザー入力値とデータベースに保存されている現在のパスワードを比較する必要があります。だから私は成功したログイン中に設定されたgetterメソッドを使って、その変数に格納されている値を使用しています。

私はこれらのアプローチが正しいかどうかを知る必要があります。または、パスワードの間データベースを再度呼び出す必要がありますか?

+2

私が正しく理解している場合は、パスワードをプレーンテキストで保存しています。しないでください。パスワードハッシュの保存と比較の話題についていくつかの調査を行います。 – reto

+0

本質的に、何らかのセキュリティ関連の正しいアプローチは、最初に**多くの読書や勉強をすることです。あなたはあなたの素朴なアイデアをコーディングすることから始まらない方がいいです**。これは侮辱ではありません。代わりにセキュリティの権利を得ることは難しい**です**。 **あなたが本当に** **いくつかの時間のために全体の主題に掘り起こされるまで、一行のコードを書くべきではありません。つまり、本当にそのようなコードを書こうとしている人は、そのような質問をする必要はありません。 – GhostCat

+0

いいえ、パスワードのハッシュ値を保存しています。 – bhoomi

答えて

0

アプリケーションが同じユーザーで異なるシステムでログインできる場合、このアプローチは非常に危険です。これは、あるシステムからログインした後、最初のログインに反映されていない別のシステムからパスワードを変更できるためです。両方のシステムでパスワードを間違っている(別のアカウントのログイン変数に新しいパスワードが格納されないようにする)。私はデータベースからのチェックを提案したいと思います。

+1

ありがとう、もう一つのシナリオで私のコードをテストすると役に立ちます。 – bhoomi

0

ローカルにパスワードを保存しないでください。比較するために別のページ/方法/アクションを作成するだけです。基本変更のようなパスワードの暗号化を または他の利用可能なライブラリを使用してローカルに保存する場合は、より安全にすることができます。 私はそれらを保存しないことをお勧めします。

関連する問題