1

ログインフォームがあり、失敗したログイン試行を確認し、試行に基づいて適切なアクションを実行したいと考えています。

私はこれらの線に沿って考えていました:

  1. 連続して失敗した試行間の最小許容時間は 1 秒です。

  2. 試行が失敗した場合は、最初にデータベース内の 1 秒前に発生した古いエントリを削除します。

  3. 1 秒を超える場合、特定の試行回数 (たとえば 3 回) の後、パスワードをリセットするか、再試行するか (Facebook と同様) を尋ねるメッセージをユーザーに表示します。

  4. 最後のログイン試行が 1 秒未満で行われた場合は、その IP アドレスを 15 分間ブロックします。

私はすでにこのウェブサイトの他の投稿を調べており、キャプチャを表示したり、Cookie やその他の方法を使用したりするなど、さまざまなアプローチを使用している人々を見てきました.

だから私の質問は、この問題に取り組むための最良の方法(または標準的な方法)は何ですか?

4

1 に答える 1

1

ユーザー/メンバー テーブルに、「最終ログイン日 (時刻)」と「ログイン試行回数」の 2 つの新しい列を追加します。

ログイン試行の場合、「最終ログイン日」を現在の日付に設定し、「ログイン試行回数」を増やします。その後、試行の最大回数を超えたかどうか、または試行が速すぎたかどうかを試行ごとに確認できます。物事の音から、時間制限付きの試行に対してクライアント側とサーバー側の検証を混在させたいと思うかもしれません。

ログインに成功すると、「ログイン試行回数」がクリアされます。

于 2013-02-19T14:41:38.357 に答える