Есть ли способ ограничить доступ пользователя к входу, скажем, только 5 IP-адресами в день? Так что если бы учетная запись пользователя пыталась войти в тот же день с 6-го другого IP-адреса, им было бы отказано. Однако я бы хотел, чтобы это ограничение было сброшено в конце дня.
Если Authlogic не предоставляет способ отследить это из коробки, какие у вас есть идеи о том, как мне это реализовать? Как вы, вероятно, можете сказать, я уже использую Authlogic для аутентификации.
Моя главная цель - ограничить возможность моего пользователя делиться своим логином с незарегистрированным пользователем; Я знаю, что IP-адрес большинства людей периодически меняется в течение дня, потому что вряд ли у кого-то есть личный статический IP-адрес, но я думаю, что 5 - это достаточное количество разрешений, даже если учесть, что пользователь может посетить мой сайт на своем iPhone или в Starbucks и др.
Мысли
ОБНОВЛЕНИЕ: После прочтения многих комментариев по ссылке, предоставленной @tadman, я думаю, что было бы более полезно ограничить количество новых сеансов, созданных на машине, у которой их не было. ранее вместо IP-адреса. Если я понимаю, как работает Authlogic, верно, сеансы представляют собой комбинацию записей на стороне сервера и файла cookie в браузере пользователя. Если я "выйду" из своего сайта, cookie все еще будет в моем браузере, не так ли? Просто с истекшим значением или что-то в этом роде. Могу ли я проверить это? Так что, если бы на компьютере, который вообще не имел этого cookie, я бы считал полностью NEW вход в систему, и я бы ограничил количество новых входов в систему до 5 в день? Будет ли это осуществимым подходом?
См. Комментарии этого пользователя об ограничении скорости по IP, чтобы понять, что я имею в виду: http://simonwillison.net/2009/Jan/7/ratelimitcache/#c43031