PHP　ユーザーログインパスワードの保存先


PHPを学び始めて1年以内の者です。

**・$_SESSIONにパスワードを格納するのは安全ではない  
・DBにはハッシュ化したパスワードのみを保存**

以上をふまえ、

**ユーザー情報変更ページで、各々が自分のパスワードを変更をできるよう設定したい** のですが  
編集ページのform内に「現在のパスワード： ****** 」というようにアスタリスクで表示させたい場合、  
慣例となっているやり方はあるのでしょうか。  
（知りたいのは、どのようにパスワードを保存し、取り出すのか という点です）

どなたか、ご教授いただければ幸いです。  
どうぞよろしくお願いいたします。




設定画面などでパスワードを変更する時は  
・現在のパスワードを再入力。  
・新しいパスワードを入力。  
・確認用に新しいパスワードを再入力。  
入力欄が3つは必要。

現在のパスワードの情報は一切表示しなくていい。

入力した現在のパスワードと保存している暗号化したパスワードで変更して大丈夫か確認。  
さらに新しいパスワードと確認用が一致するかも確認。  
パスワード変更なんて危険な箇所は二重に確認が必要。

セキュリティリスクとしては「ログインしたままのブラウザを他人が操作してるかもしれない」  
なので危険な箇所では正しいパスワードを再度入力させて確認しないといけない。

↑はログインできてる場合。  
パスワードを忘れてログインできない時用にメールでのパスワードリセット機能も必要。

こういう部分は自分で考えず有名サイトのやり方を真似すればいい。  
***なんて表示してるサイトはない。




そもそも論として「ハッシュ化したパスワードのみを保存」している以上は web server / application server
側でもパスワードを復元できないわけです（そのためのハッシュ化）。そのため「「現在のパスワード： ******
」というようにアスタリスクで表示」すること自体ができませんし、できたら脆弱性です。

