如何使用带有c#的http模块阻止Ip范围。我有一个简单的解决方案,但它的单个IP和如何从http模块中的xml文件中读取IP,以便如果该文件中有IP,它将被阻止。这是我的代码
public class MyHandler :IHttpModule
{
public MyHandler(){}
public bool IsReusable
{
get { return false; }
}
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(Application_BeginRequest);
}
private void Application_BeginRequest(object source, EventArgs e)
{
HttpContext context = (source as HttpApplication).Context;
List<string> BlackListIp = new List<string>();
BlackListIp.Add("127.0.0.1");
if (BlackListIp.Contains(context.Request.UserHostAddress))
{
context.Response.Write("<h1 style='color:red;'>Your IP is Blocked</h1>");
}
}
public void Dispose()
{
}
}
答案 0 :(得分:0)
只需在app_data文件夹中添加xml文件,然后使用XDocument读取它。 您可以使用Cache with FileDependency来提高性能。