有没有办法限制用户每天只能登录 5 个 IP 地址?这样,如果用户帐户试图在同一天从第 6 个不同的 IP 地址登录,他们将被拒绝。但是,我希望在一天结束时重置此限制。
如果 Authlogic 没有提供开箱即用的跟踪方法,您对我应该如何实现它有什么想法?正如您可能知道的那样,我已经在使用 Authlogic 进行身份验证。
我的主要目标是限制我的用户与非注册用户共享登录信息的能力;我知道大多数人的 IP 地址会在一天中定期更改,因为几乎没有人拥有个人静态 IP,但我认为 5 是相当数量的限额,即使考虑到用户可能会在他们的 iPhone 上访问我的网站,或者在星巴克等
想法?
更新:在阅读了@tadman 提供的链接上的许多评论后,我认为限制在以前没有的机器上创建的新会话的数量可能更有用,而不是通过 IP 地址。如果我了解 Authlogic 的工作原理,会话是服务器端记录和用户浏览器中的 cookie 的组合,对吗?如果我“退出”我的网站,cookie 仍然存在于我的浏览器中,不是吗?只是具有过期值或类似的东西。我可以对此进行测试吗?这样,如果一台根本没有该 cookie 的计算机我会认为是一个全新的登录,我会将新登录的次数限制为每天 5 次?那是可行的方法吗?
请参阅此用户关于 IP 速率限制的评论,了解我的意思:http ://simonwillison.net/2009/Jan/7/ratelimitcache/#c43031