0

いくつかの優れたリソースチュートリアルがありますか、またはユーザーがx個の間違ったパスワードを入力したときにデバイスにキャプチャを実装しようとした人はいますか?

キャプチャは、ボットやその他の悪意のある人物の侵入を防ぎ、デバイスの署名ページでのリクエストの数を制限するために、多くのリクエストに表示されるというものです。

4

1 に答える 1

1

私はそれを2つの方法で行うことを考えることができます:

最初の属性はfailed_attempts属性に基づいています(したがって、ログインに失敗するたびに増分する必要があります)。Deviseで使用するには、独自のFailureAppオーバーライド応答メソッドを作成して更新し、ユーザーのfailed_attempt属性をインクリメントします。ユーザーがキャプチャの制限に達したときに、フラッシュ属性を設定してこれについて通知することができます。したがって、コントローラーでキャプチャについて決定します。ただし、この方法には問題があります。ユーザーのログを記録するため、別のログインを試みているユーザーには機能しません。

2つ目はIPに基づいています。ログインに失敗するたびに、IPと試行の失敗を記録し、IPが制限に達したときに、前述のフラッシュ属性を設定して、そのIPからの要求番号がすでに制限に達したことを通知します。キャプチャを表示できます。ActiveRecordとリレーショナルデータベース、またはRedisのような軽量なものを使用してそれを行うことができます。このデータベースから古いデータを削除する方法についても考えることができます。

于 2012-06-16T03:01:05.563 に答える