天天看點

asp.net屏蔽ip網段的代碼及配置

asp.net屏蔽ip網段的代碼及配置,

配置檔案

       <add key="BeginIPInner" value="10.32.0.0"/>

      <add key="EndIPInner" value="10.32.254.254"/>

      <add key="BeginIPInner2" value="192.168.0.0"/>

      <add key="EndIPInner2" value="192.168.254.254"/>

      <add key="BeginIPOuter" value="60.247.44.96"/>

      <add key="EndIPOuter" value="60.247.44.128"/>

 .cs代碼

        public static Int32 CreateUnionOrder(OrderInfo info)

        {

          bool bIP = true;

            string userip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];//代理伺服器的随機IP位址

            var bIPinner = long.Parse(IPToInt(ConfigurationManager.AppSettings["BeginIPInner"]).ToString());

            var eIPinner = long.Parse(IPToInt(ConfigurationManager.AppSettings["EndIPInner"]).ToString());

            var bIPinner2 = long.Parse(IPToInt(ConfigurationManager.AppSettings["BeginIPInner2"]).ToString());

            var eIPinner2 = long.Parse(IPToInt(ConfigurationManager.AppSettings["EndIPInner2"]).ToString());

            var bIPouter = long.Parse(IPToInt(ConfigurationManager.AppSettings["BeginIPOuter"]).ToString());

            var eIPouter = long.Parse(IPToInt(ConfigurationManager.AppSettings["EndIPOuter"]).ToString());

            long lInt = 0;

            if (userip == "" || userip == null)

            {

                userip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];//用戶端ip

                lInt = long.Parse(IPToInt(userip).ToString());

      //如果ip段 在10.32.0.0 到10.32.254.254中間,或者在192.168.0.0到192.168.254.254或者在60.247.44.96到60.247.44.128之間,傳回false,不執行業務邏輯,達到屏蔽ip段的目的

                if ((lInt >= bIPinner && lInt <= eIPinner) || (lInt >= bIPinner2 && lInt <= eIPinner2) || (lInt >= bIPouter && lInt <= eIPouter))

                {

                    bIP = false;

                }

            }

            if (bIP)

            {       //要執行的業務邏輯

    }

   }