封锁用户IP地址
通过IP地址阻止用户访问的原因:为了阻止某些IP地址的用户访问应用程序。
解决方法:创建一个自定义的HttpHandler,并将其连接到Application_BeginRequest事件。在处理程序中,通过HttpContext.Current.Request.UserHostAddress获取请求的IP地址,然后与我们的被阻止IP地址列表进行检查。被阻止的IP地址存储在数据库中,但我们还在服务器中保留了一个缓存副本,以避免在每个请求中访问数据库。
有一个关于创建自定义HTTP模块的非常好的MSDN文章:Walkthrough: Creating and Registering a Custom HTTP Module。
我们将IP地址作为字符串存储在数据库中,但在已添加的帖子中已经提供了有关使用的最佳格式的一些好信息。