ユーザーにリセットリンクを含むメールを送信する「パスワードを忘れた」システムをセットアップしています。M の質問: このシステムの悪用を防ぐにはどうすればよいですか? 人々がこれを使用して人々の受信トレイにスパムを送信しないようにするにはどうすればよいですか?
5 に答える
ユーザー名ではなく、登録済みのメールアドレスを尋ねますか? 悪意のあるユーザーに知られる可能性ははるかに低くなります。
または、users テーブルに TimeOfLastReset フィールドを用意し、電子メールを送信するたびにこれを更新します。CurrentTime-TimeOfLastReset が小さすぎる場合は、送信しないでください。
復旧用の電子メールが送信されたら、それが発生した時刻を記録します。あらかじめ設定された時間間隔 (15 分? 6 時間? 1 日?) 内にさらに多くの回復要求がある場合は、メッセージを印刷し、電子メールを送信しないでください。
スパマーに悪用される可能性が本当にあるとは思わないでください。
スパマーにとって、ユーザーに送信される自動化されたメッセージ (固定コンテンツを含む) は役に立ちません。
ただし、できることは、セッション ID を隠しフィールドに追加し、送信時に確認することです。または、隠し ( disply: none
) フィールドとname="message"
空の値をフォームに追加します。フォームの送信時にまだ空であるかどうかを確認します。
ユーザーにユーザー名と電子メールアドレスの両方を入力して確認してもらいます。
ログイン ユーザー名として電子メールを使用した場合、誰もが自分の電子メールを知っているわけではないため、大きな問題にはなりません。また、リセットできるようにするには、電子メールがデータベースで一致している必要があります。したがって、誰かが有効な電子メールを入力した場合にのみ送信され、リセットされます。
1) (ユーザー名だけでなく) メールアドレスを知っている必要があります 2) パスワードを一度だけリセットできます 3) すぐにはリセットできず、メール内のリンクをクリックする必要があります