我有一个应用程序,其中有一个登录屏幕。我想在我的应用程序中添加一个限制一次登录尝试次数的功能。例如,如果用户尝试使用错误的user name
和/或password
进行5次以上的登录,则会弹出一条消息,表示您在接下来的60秒内无法登录。如果他在60秒内尝试,那么他应该无法登录。 60秒后,他应该能够使用正确的密码。限制登录尝试次数
限制登录尝试次数
回答
应该像创建一个实例变量int一样简单,并在每次失败登录后增加它,如果它命中5阻止登录尝试并同时触发NSTimer在60秒后擦除计数为0。
保存上一次尝试失败并尝试计数的默认值。
是啊!我也有人建议使用NSUserDefaults,但我不知道如何实现它。所以,你可以借助一个例子让我看看。提前致谢! – Shikhar
网上有一百万个教程和信息帖子,因此 - 这里是一个:http://iphonedevsdk.com/forum/iphone-sdk-tutorials/106311-tutorial-1-how-to-use-nsuserdefault.html –
您可以使用NSTimer强制执行时间限制。 在简单情况下,每次登录尝试失败时都会增加计数器。 第6次尝试将标志设置为NO,并启动计时器。 标志为NO时的任何进一步尝试均被拒绝。 定时器启动时,启动标志为YES,用户可以重试。
只是作为一个概念:
start a session for the login process if there is none;
setting up the timer in that session (startime) if not already set
loop by post to self:
check login;
on unsuccessfull login:
counting unsuccessfull logins;
if timer/counter are hit, instead of presenting the login fields,
show an error message;
if time of no login is reached, show login fields again, reset counter;
return;
on successfull login:
stop and drop the current session (to get rid of the timer stuff);
start the real session;
forward to application screen;
但是: 这不会阻止任何人蛮力迫使你的应用程序,因为这一切都取决于一个会话cookie。通常这些bf攻击不会返回任何cookie,因此他们总是会首次尝试启动新会话。很大的努力,没有影响。依靠IP地址也无济于事,如果你受到bot网络的攻击,你会从每秒100个IP地址获得100个请求。
我会建议有什么像在登录窗口/屏幕
一个CSRF令牌如果登录来自一个服务,这是最好的有处理它。你放入NSUserDefaults的任何东西都可以被读取并可能被修改。
- 1. 限制Openfire登录尝试
- 2. 登录尝试限制
- 3. 限制登录尝试?
- 4. Guvnor是否限制了不成功的登录尝试次数?
- 5. 限制失败的登录尝试次数
- 6. 如何限制登录尝试?
- 7. 限制登录尝试,无论用户?
- 8. 限制登录尝试保护BFA的
- 9. 以PHP记录登录尝试次数
- 10. 有限的登录尝试
- 11. Facebook登录尝试登录首次
- 12. 限制在Laravel 5.4中自定义登录的登录尝试
- 13. 使用时间戳限制不正确的登录尝试次数
- 14. MRJob - 限制任务尝试次数
- 15. 用户窗体登录尝试计数器,3次尝试
- 16. 如何限制登录次数?
- 17. ASP.NET登录尝试登录?
- 18. 限制(并记录)登录尝试的最佳方式
- 19. ASP.NET限制登录重试
- 20. 要求多次尝试登录的SSO
- 21. 登录 - 只允许3次尝试
- 22. Angular2 ngrx/store有多次登录尝试
- 23. RxJS重试获取数据登录后 - 如果登录尝试一次
- 24. WordPress的限制登录尝试插件在自定义登录表格
- 25. 多次登录尝试后阻止用户登录
- 26. 限制猜谜游戏三次尝试
- 27. 我应该限制尝试登录rails吗?
- 28. 如何限制使用redis的登录尝试?
- 29. 在cassandra中跟踪和限制登录尝试失败
- 30. 如何限制Spring Security中的登录尝试?
到目前为止你有什么?有没有一个服务器应该拒绝这些登录?你是否限制了尝试的次数,并且需要一种让用户稍后再次登录的方法? – thegrinner