1

この他の投稿によると、私はする必要があります:

PHPパスワードの回復パスワード は「回復」しません。あなたがすることは2つのことのうちの1つです。

  1. 現在のパスワードを上書きして、新しいパスワードを作成するためのリンクをユーザーに電子メールで送信します。
  2. ランダムに生成されたパスワードをユーザーに電子メールで送信してから、パスワードを変更するように依頼します。

私は巨大なプロジェクトをかじったので、実際の例、または少なくともこれを行う方法についてのあなたの最善のアドバイスを必死に要求します。例:現在のパスワードを上書きして、新しいパスワードを作成するための#1電子メールユーザーリンク。dbにはパスワードソルティングがあり、Blowfishを使用していると言われています。それが何を意味するのか正確にはわかりません。コードを調べて、「パスワードのリセット」を追加する方法を見つけようとしています。現在のログインページへのリンク。

次に、もしあなたがそのように傾いているなら、ランダムに生成されたpwをユーザーに電子メールで送信し、それを変更する方法を支援できますか[上記の#2?

タスクは現状のままであり、これまでに提供するコードがわかりません。これを行った人が何がうまくいくかを教えてくれることを願っています。私はそれを実装しようとします。私はあなたの助けに感謝します!

4

1 に答える 1

4

パスワードのリセットを生成する通常の方法は次のようになります。

  1. メールアドレスが登録ユーザーのものであることを確認してください。
  2. ランダムで予測不可能なコードを生成します。
  3. このコードをハッシュ化して、ユーザー ID と有効期限とともにデータベースに保存します。
  4. このコードを含むリンクを指定された電子メール アドレスに送信して、ユーザー自身だけがこのリンクを取得できるようにします。
  5. ユーザーがリンクをクリックすると、コードが抽出され、そのハッシュがデータベースにあるかどうかが確認されます。
  6. データベースにあり、まだ有効期限が切れていない場合は、ユーザー ID がわかっているので、ユーザーが新しいパスワードを入力できるようにすることができます (自己生成パスワードをユーザーに送信しないでください)。
  7. コードを使用済みとしてマークするか、データベースから削除してください。

これにより、必要な手順のアイデアが得られることを願っています。BCrypt とソルティングについて詳しく知りたい場合は、パスワードのハッシュに関するこのチュートリアルをご覧ください。

于 2013-03-04T09:27:39.290 に答える