PHPの質問です。フォームからデータベースにユーザーIDとパスワードを登録したとします。もしユーザーがパスワードを忘れてしまって、再度フォームから変更する場合はどうすれば良いのでしょうか?ご教授ください。(その情報が登録されているテーブルの行を参照し再登録する方法)


よろしくお願いします。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:
  • 終了:2007/05/25 00:46:32
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969

ポイント35pt

単純に考えると、パスワードなしでパスワードを変更することができると、ユーザー認証の意味がありません。

パスワードを無くした場合の処理を実装するには、例えばユーザーIDを作成するときにメールアドレスを入力してもらい、

そのメールアドレスにパスワードを送信する。

もう一つよくあるのは、登録時に任意の質問と回答を入力してもらいパスワード変更のときに質問から回答を答えてもらい変更するの2パターンです。

これはPHPからデータペースの参照や変更のSQLが書ければそんなに難しいことではありません。

ダミー

id:paper-knife

ご回答ありがとうございます!

私がすすめていたのは前者のIDをメールアドレスにする方でした。これですすめてみます。

2007/05/25 00:45:36
id:Nigitama No.2

回答回数311ベストアンサー獲得回数18

ポイント35pt

他にカラムが必要になると思います。

例えば、メールアドレスも同時に登録させておいて、パスワードを忘れた相手には、そのアドレス宛にパスワードを記載したメールを送るっていうのが普通じゃないでしょうか?

もしそうではなくて、生年月日や秘密の質問など「のみ」を使用してパスワードの変更が出来てしまったら、パスワードがパスワードでなくなってしまうと思います。

的外れな回答だったら申し訳ないです。

http://q.hatena.ne.jp/answer

id:paper-knife

ご回答ありがとうございます。参考になりました。

2007/05/25 00:46:04
id:atugari No.3

回答回数56ベストアンサー獲得回数0

ポイント10pt

パスワードを忘れた場合、メールアドレス(仮に登録されているとする)をパスワード代わりに使い、変更画面を表示するのはどうでしょう?

普通は、パスワードを忘れたら、メールを送信させて、本人確認をするのが一般的ですよね。

ダミーです

http://www.google.co.jp/

  • id:gekikawa
    程度問題ですが、パスワードってそのままDBに入れておくと危険とかって聞きませんか?
    入力されたパスワードをmd5なんかで暗号化してから保管し、認証のときは、
    入力を同じ暗号化した値と保管してあった値を比較するのが良いらしいです。

    そうなるとメールアドレスに送信する値は、忘れてしまったパスワードではなくて、
    新たに自動的に作成された一時パスワードを送信することになると思います。

    結構、お金が絡んでいるサービスでも平気でメールでパスワードを送ってくる法人企業もありますけどね。
  • id:paper-knife
    gekikawaさん

    コメントありがとうございます!
    参考になりました。

    気をつけます!!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません