天天看點

ASP.NET 限制遠端IP通路,Global配置方法

以下方法,同時适用于ASP.NET WebForm、ASP.NET WebApi、ASP.NET WebService

第一步:根目錄建立檔案Global.asax

protected void Application_BeginRequest(object sender, EventArgs e)
{
    //限制遠端IP通路,可以從資料庫中讀取,本示例通過Web.Config進行配置
    string IP_ADDRESS_WHITE = System.Configuration.ConfigurationManager.AppSettings["IP_ADDRESS_WHITE"];//白名單
    string IP_ADDRESS_BLACK = System.Configuration.ConfigurationManager.AppSettings["IP_ADDRESS_BLACK"];//黑名單
    if ((!IP_ADDRESS_WHITE.Contains(Request.UserHostAddress)) || (IP_ADDRESS_BLACK.Contains(Request.UserHostAddress)))
    {
        Response.ContentType = "text/html;charset=utf-8";
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); //設定輸出流為簡體中文
        Response.Write("無權通路!");
        Response.End();
    }
}      
<appSettings>
    <add key="IP_ADDRESS_WHITE" value="119.23.222.8|119.21.89.8" />
    <add key="IP_ADDRESS_BLACK" value="112.26.221.33" />
</appSettings>