ユーザーのログイン アクセスを、たとえば毎日 5 つの IP アドレスのみに制限する方法はありますか? ユーザー アカウントが 6 番目の異なる IP アドレスから同じ日にログインしようとすると、それらは拒否されます。ただし、この制限は一日の終わりにリセットしたいと思います。
Authlogic がすぐにこれを追跡する方法を提供しない場合、これを実装する方法についてどのようなアイデアがありますか? お察しのとおり、私はすでに認証に Authlogic を使用しています。
私の主な目標は、ユーザーがログイン情報を未登録ユーザーと共有できないようにすることです。個人の静的 IP を持っている人はほとんどいないため、ほとんどの人の IP アドレスは 1 日を通して定期的に変更されることはわかっていますが、ユーザーが iPhone で私のサイトにアクセスしたり、スターバックスなど
考え?
更新: @tadman によって提供されたリンクに関する多くのコメントを読んだ後、IP アドレスではなく、以前はセッションがなかったマシンで作成される新しいセッションの数を制限する方が便利かもしれないと考えています。Authlogic の仕組みを理解していれば、セッションはサーバー側のレコードとユーザーのブラウザ内の Cookie の組み合わせですよね? サイトから「ログアウト」しても、Cookie はブラウザに残りますよね? 期限切れの値などを使用するだけです。それに対してテストできますか?その Cookie をまったく持たないコンピューターの場合、完全に新しいログインと見なし、新しいログインの数を 1 日 5 回に制限しますか? それは実現可能なアプローチでしょうか?
IP によるレート制限に関するこのユーザーのコメントを参照してください。