電子メールを介してユーザーに送信される一時パスワードを保護しますか?

StackOverflow https://stackoverflow.com/questions/1625976

  •  06-07-2019
  •  | 
  •  

質問

管理者がユーザーを作成できるシンプルなWebアプリケーションをセットアップしています。ユーザーは自分で作成しません。管理者がしなければならないことは、ユーザー名と電子メールを入力することと、ログインするために一時的なパスワードがユーザーに送信されることです。この電子メールはプレーンテキスト形式で送信されます。ユーザーが初めてログオンする場合、パスワードを変更し、セキュリティの質問と回答を入力する必要があります。ユーザーが初めてログインするには、明らかに一時的なパスワードを知っている必要があり、これが(電子メールで)知らせる唯一の方法です。もう1つのオプションは、管理者にユーザーを呼び出して、電話または直接会って一時的なパスワードを伝えることですが、これは実用的ではありません。このような状況にどのように対処できますか?

役に立ちましたか?

解決

通常、バックエンドの招待レコードに基づいて一時的なURLを使用します。基本的に、招待レコードを作成し、ユーザーのメールアドレス、タイムスタンプ、ランダム値などの情報に基づいてハッシュを生成します。ハッシュを招待レコードの一部として保存し、ハッシュをパラメーターとしてURLを送信します。

リンクをクリックして招待を検索し、招待が存在し使用されていないことを確認してから、パスワードの設定と招待の無効化を許可します。

任意の種類のパスワードを送信する必要がなくなり、必要に応じて招待レコードに有効期限を設定できます。

他のヒント

説明するシナリオは非常に一般的です。一時パスワードをメールで送信し、最初のログイン時に変更する必要があります。このモデルに特定の問題がない限り、使用しない理由はありません。管理者に電話をかけることは複雑になる可能性があります。私はこれをどうしても避けたいと思います。

ユーザーが自分自身をログに記録する必要がある場合、引数としてパスワードとユーザーハッシュを使用してカスタムURLを生成できます。攻撃者が情報を持っていない場合、ハッシュを取得するのは困難です

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top