目前在做一个登录验证码的功能,ruby-china 是登录的时候就显示验证码,但是我要做的是登录错三次才显示验证码,我的设计思路是在登录的时候,如果密码验证错误,session["login_filed"] += 1
, 如果超过三次就让客户端拉验证码,用户成功登录之后就把 session 清除掉,大家觉得这样的设计有没有什么问题?有没有更好一些的方案?
@jasonliu 可以实现功能就好,不要追求所谓优雅,最好的解决方法。。。 我以前也经常患得患失,就怕自己实现的方法不是通用的,不是优雅的,浪费了不少时间。 现在觉得实现了就好,等水平提高了,后面自然就会知道怎么解决更好,到时在重构。
如果把登错次数存在 session 里面,用户可能会清除 cookie,相当于可以绕过限制不用输入验证码,所以目前我尝试使用 IP 来记录玩家登错次数,但是也会造成同一出口的 IP 受影响