如何使用http模块阻止ip范围?

时间:2012-04-27 22:41:53

标签: c# ip range httpmodule

如何使用带有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()
    {
    }
}

1 个答案:

答案 0 :(得分:0)

只需在app_data文件夹中添加xml文件,然后使用XDocument读取它。 您可以使用Cache with FileDependency来提高性能。