0

Java Web アプリケーションにパスワードを忘れた機能を実装したいと考えています。次のように実装したいと思います。

  1. ユーザーは自分のアカウントのメール アドレスを入力し、[パスワードを忘れた] ボタンを押します
  2. アプリは文字と数字の一意のコードを生成し、それをパラメーターとして含むリンクをユーザーの電子メール アドレスに送信します。
  3. ユーザーがリンクをクリックすると、新しいパスワードを入力できるフォームが表示されます

私がやりたいことは、ユーザーがパスワードを忘れたボタンを押してから 1 時間後にリンク (つまり、一意のコード) が「期限切れ」になるようにすることです。これにより、攻撃者がメール アカウントにアクセスした場合、アクセスを取得しない限り、このリンクは機能しません。その最初の1時間で。

データベースを「期限切れ」にする方法や、ユーザーのアカウント レコードのコードをクリアする方法がわかりません。どうすればこれを実装できますか?

4

2 に答える 2

3

コードを含むテーブルに列を追加しValidUntil、ユーザーがパスワードを変更できるようにする前にそれを確認します。

于 2010-04-16T15:47:17.280 に答える
0

一意のコードが生成された日付をデータベースに保存します。ユーザーがリンクをクリックしたときに、一意のコードが生成されてから許可された時間を超えている場合は、パスワードを変更できません。

于 2010-04-16T15:46:58.280 に答える