代码说

code is poetry

代码说    
碎碎念:一座城市不会老,因为每天都有人奔向灿烂的青春。  换一换

模拟银行ATM机的用户登录设计

作者:coderzheng 发布于:2015-2-5 22:27 Thursday 分类:other  阅读模式

之前我在"emlog漏洞修复"这篇文章中,提到了在登录页面更改程序的设计来防止用户暴力破解。现在我们来看一下具体的需求和设计。
需求整理:
1) 用户进入登录页面输入用户名、密码和验证码进行登录;
2) 如果用户登录错误次数超过3,从第三次起提示用户还可以输入的次数,第5次登录错误时锁定用户IP,并给出相应的提示信息;
3) 30分钟内阻止锁定IP上的任何登录尝试,30分钟后允许用户继续登录(解锁)。
下面是具体的流程图:

由于涉及到对登录次数的判断,因此必须在登录信息表中再添加errnum字段,用来记录用户登录错误的次数。
关于登录信息不匹配的处理,流程图如下:

至此,整个过程叙述完毕。
PS:
1) 第一张图中"用户表中存在此密码?"应改为"用户表中对应用户的密码是否与用户输入的密码匹配?"
2) 这篇文章只对程序的流程设计进行了说明,并不涉及任何代码端的实现,相关细节请自行脑补。


over.

标签: emlog

你可以发表评论、引用到你的网站或博客,或通过RSS 2.0订阅这个博客的所有文章。
上一篇: CI中自定义库类引用config对象的方法失败的问题  |  下一篇:virtual box虚拟机中的linux系统实例在系统重装之后遇到的问题