/// <summary> /// 检测用户ip是否在指定的ip段中 /// </summary> /// <param name="ip">用户ip</param> /// <param name="begip">起始ip</param> /// <param name="endip">结束ip</param> /// <returns></returns> protected bool isinip(string ip, string begip, string endip) { int[] inip, begipint, endipint = new int[4]; inip = getIp(ip); begipint = getIp(begip); endipint = getIp(endip); for (int i = 0; i < 4; i++) { if (inip[i] < begipint[i] || inip[i] > endipint[i]) { return false; } else if (inip[i] > begipint[i] || inip[i] < endipint[i]) { return true; } } return true; } /// <summary> /// 将ip地址转成整形数组 /// </summary> /// <param name="ip"></param> /// <returns></returns> protected int[] getIp(string ip) { int[] retip = new int[4]; int i, count; char c; for (i = 0, count = 0; i < ip.Length; i++) { c = ip[i]; if (c != '.') { retip[count] = retip[count] * 10 + int.Parse(c.ToString()); } else { count++; } } return retip; }