各位,我在 ASP.net (C#) 中有一个简单的客户登录页面,其中有 2 个文本框和一个按钮,一个用于用户名,另一个用于密码和提交按钮。
按下提交后,密码文本框文本将被加密,然后与已存储在数据库中的密码加密值进行比较。
现在我想要做的是,在每次登录尝试失败时,它应该显示一条消息,如“x 尝试剩余 5 次”。当 5 次尝试全部使用时,它应该禁止该用户的 IP 1 小时。
我应该如何处理这个问题?我对 ASP 还很陌生,所以我不知道如何获取用户 IP,然后将其阻止 1 小时。 1小时后,该ip应该会自动解封。
任何帮助将不胜感激。
P.S 我并不是在寻找任何复杂的东西。我对此很陌生,所以复杂的事情不会在我的掌握中。
最佳答案
您应该将失败的尝试记录到表中,当该表中的行数超过失败的登录尝试次数时,您应该显示一条错误消息,表明用户被锁定。
当用户重新生成密码后,从表中删除记录。
抱歉,刚刚看到您对 IP 地址的其他请求。在 Web 应用程序中,您可以使用 HttpContext 中的以下属性:
HttpContext.Current.Request.UserHostAddress
关于asp.net - 登录尝试 5 次失败后阻止用户 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22471907/