asp.net - 登录尝试 5 次失败后阻止用户 IP?

标签 asp.net authentication

各位,我在 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/

相关文章:

asp.net - 2014 更新后无法发布到 Azure

Android:如何创建 Google Plus 登录动画?

google-chrome - chrome 中的数字证书

wcf - 我的 UWP 应用如何使用 WCF 服务进行身份验证?

c# - 单元测试插入/更新/删除

c# - 如何在 javascript 中设置 asp.net 下拉列表的可见性

c# - ASP.NET 事件未在 <div> 标记中触发

c# - Paypal 定期付款计费频率

java - servlet 身份验证和对凭据的进一步引用

authentication - 如何在Grails/Spring Security插件中强制未经身份验证的用户进入登录页面