-1

私はPHPの初心者です。ポータル管理者が一時パスワードで「ユーザー」を作成するモジュールを作成したいと考えています。

  1. ユーザーが作成されると、その特定のユーザーは、24 時間で期限切れになるリンクを含む電子メールを受信する必要があります。
  2. Manager は、一時的なパスワードを他の方法でユーザーに伝えます。
  3. ユーザーが 24 時間以内に電子メールのリンクをクリックすると、一時パスワードと新しいパスワードの入力を求められ、新しいパスワードの確認フィールドが表示されます。
  4. 一時パスワードが正しい場合は、一時パスワードをデータベース内の新しいパスワードに置き換えます。

これをどのように実装すればよいですか?

4

2 に答える 2

1

1 つのオプションは、有効期限とともにデータベースに保存するリンクにパラメーターを含めることです。そのようなパラメータがない場合、リンクは受け入れられません。パラメータがある場合は、有効期限をデータベースで確認できます。有効な場合は、パスワードの変更ページに進みます。

リンクの例:

http://www.example.com/updatepass?key=a8s67as78df7g96sd9fg6sdfg

この構造を持つデータベース テーブルでは、次のようになります。

reset_id, user_id,  reset_key, reset_timeout, reset_temp_password

パラメータを確認してkeyから、一時パスワードを確認できます。ユーザー情報を格納user_idするテーブルに結合するために使用されます。user

于 2012-08-16T15:54:54.510 に答える
0

あなたのアプリケーションがどのように構成されているか分からないので、私はあなたのためにそれを書くことはできませんが、これは私が取る一般的なアプローチです:

  1. おそらくユーザー名を使用してユーザーが作成され、これらの詳細がデータベースに格納されます。
  2. 一時パスワードは、ランダムな文字列として生成されます。ハッシュ (MD5、SHA - わからない場合はググってください) を NOW() のタイムスタンプとともにデータベースに保存します。
  3. ユーザーは、ユーザー名と一時パスワードを使用してログインします。ユーザー名とパスワードが一致し、現在の時刻からログに記録された時刻を差し引いた時間が 24 時間未満の場合は、新しいパスワードを要求します。同じ手順を実行し、ハッシュしてデータベースに保存します。次にログインするときに、ハッシュが一致することを確認します。

それは理にかなっていますか、それとも完全に異質な部分があり、さらに説明する必要がありますか?

于 2012-08-16T15:54:47.130 に答える