如何比较登陆者ip是否为指定的ip段,麻烦帮忙解答

解决方案 »

  1.   

    IPAddress ip = IPAddress.Parse("192.9.103.5");
                if (IPAddress.Parse("192.0.103.0").Address < ip.Address < IPAddress.Parse("192.0.103.255").Address) 
                    ...
    先这么着吧,虽然不推荐使用Address属性。
      

  2.   

    使用如下代码的到IP地址对应的数串后,于合法的数串比对。
    private int ConvertIPAddressToNumber(string strIPAddress)
      {
       //将目标IP地址字符串strIPAddress转换为数字
       string[] arrayIP=strIPAddress.Split('.'); 
       int sip1=Int32.Parse(arrayIP[0]);
       int sip2=Int32.Parse(arrayIP[1]);
       int sip3=Int32.Parse(arrayIP[2]);
       int sip4=Int32.Parse(arrayIP[3]);  
       int tmpIpNumber;
       tmpIpNumber=sip1*256*256*256+sip2*256*256+sip3*256+sip4;  
       return tmpIpNumber;//返回IP地址转换后的数字
      }
      

  3.   

    使用如下代码将IP地址转换成数字,在与合法的IP地址的数字范围比对。
    private int ConvertIPAddressToNumber(string strIPAddress)
      {
       //将目标IP地址字符串strIPAddress转换为数字
       string[] arrayIP=strIPAddress.Split('.'); 
       int sip1=Int32.Parse(arrayIP[0]);
       int sip2=Int32.Parse(arrayIP[1]);
       int sip3=Int32.Parse(arrayIP[2]);
       int sip4=Int32.Parse(arrayIP[3]);  
       int tmpIpNumber;
       tmpIpNumber=sip1*256*256*256+sip2*256*256+sip3*256+sip4;  
       return tmpIpNumber;//返回IP地址转换后的数字
      }
      

  4.   

    private int ConvertIPAddressToNumber(string strIPAddress)
      {
       //将目标IP地址字符串strIPAddress转换为数字
       string[] arrayIP=strIPAddress.Split('.'); 
       int sip1=Int32.Parse(arrayIP[0]);
       int sip2=Int32.Parse(arrayIP[1]);
       int sip3=Int32.Parse(arrayIP[2]);
       int sip4=Int32.Parse(arrayIP[3]);  
       int tmpIpNumber;
       tmpIpNumber=sip1*256*256*256+sip2*256*256+sip3*256+sip4;  
       return tmpIpNumber;//返回IP地址转换后的数字
      }
    使用如上代码将IP地址转换成数字,在和合法地址范围进行比较
      

  5.   

    VB和c#除了语法不同而已
    楼上写的不错啊
    ----IP可以从从数据库中取得,这个很Easy啊
    ---再利用楼上所说建议,是绝对能够进行判断的---
      

  6.   

    从Request里面取客户端IP,跟数据库取出来的IP段做正则匹配.