首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止输入密码错误3次以上的用户

防止输入密码错误3次以上的用户
EN

Stack Overflow用户
提问于 2012-08-31 16:06:39
回答 2查看 647关注 0票数 0

我想阻止输入密码超过三次的用户。我将他们的IP保存在会话中,并将超时设置为一分钟。我不知道这个解决方案是好是坏,但是当输入错误的密码三次时就会出现问题。代码可以正常工作,但是当会话超时时,如果我不刷新页面,它就不能工作。用户应该能够重试,但如果我刷新它,用户可以重试。有什么问题吗?

这是我的代码。

代码语言:javascript
复制
 if (olduser.Trim() == username.Trim() && password.Trim()==oldpass.Trim())
        { retval =olduser;
        HttpContext context = HttpContext.Current;
        context.Session[retval.ToString()] = retval.ToString();
       }
        else
        { 
            string ip = HttpContext.Current.Request.UserHostAddress;
           HttpContext failuser = HttpContext.Current;
           failuser.Session.Timeout =1;
           if (failuser.Session[ip] != null)
               failuser.Session[ip] = (int)failuser.Session[ip] + 1;
           else
               failuser.Session[ip] = 1;
               retval = failuser.Session[ip].ToString();
               if((int)failuser.Session[ip]>2)
                retval = "!";                                 
        }

        return retval;
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-31 16:09:11

您可能正在尝试重新发明轮子。考虑使用内置的ASP.NET Membership Provider

票数 3
EN

Stack Overflow用户

发布于 2012-08-31 16:12:49

如果您使用成员资格提供程序,则可以免费获得以下功能:

Max Invalid Password Attempts

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12211249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档