由登录验证码引起的反思
实现需求:基于现有系统,添加登录验证码,判断当天登录错误次数,超过 N 次,锁定当前用户。
按照需求完成后,反思了下相关功能,登录、保存信息、验证权限、超时处理。
验证码反思
验证码必要性
一直认为验证码的出现是为了阻止暴力破解,或者说增加暴力破解的难度,
验证码体验
1.验证码最讨厌辨识度差的情况,生成验证码时建议人为去掉 0、O 类似情况,忽略大小写。
2.前几次输入均不显示验证码,连续错误 N 次,再显示验证码,增加验证。
Session timeout
原始用户信息统一使用 session 保存,超时后强制跳转用户登录
Session + cookie
1.登录后使用 cookie 保存用户名,Session保存信息不变。
2.Session超时后,检查 cookie 是否保存用户名,如有,记住当前操作内容,弹出用户锁定界面,再次输入密码解锁。
备注:cookie 保存时,可保存用户名、权限串,自动比对用户名、权限串,确定用户,自动登录。