2007-07-02
判断一个IP地址是否为内网IP
java 代码
- public static boolean isInnerIP(String ipAddress){
- boolean isInnerIp = false;
- long ipNum = getIpNum(ipAddress);
- /**
- 私有IP:A类 10.0.0.0-10.255.255.255
- B类 172.16.0.0-172.31.255.255
- C类 192.168.0.0-192.168.255.255
- 当然,还有127这个网段是环回地址
- **/
- long aBegin = getIpNum("10.0.0.0");
- long aEnd = getIpNum("10.255.255.255");
- long bBegin = getIpNum("172.16.0.0");
- long bEnd = getIpNum("172.31.255.255");
- long cBegin = getIpNum("192.168.0.0");
- long cEnd = getIpNum("192.168.255.255");
- isInnerIp = isInner(ipNum,aBegin,aEnd) || isInner(ipNum,bBegin,bEnd) || isInner(ipNum,cBegin,cEnd) || ipAddress.equals("127.0.0.1");
- return isInnerIp;
- }
java 代码
- private static long getIpNum(String ipAddress) {
- String [] ip = ipAddress.split("\\.");
- long a = Integer.parseInt(ip[0]);
- long b = Integer.parseInt(ip[1]);
- long c = Integer.parseInt(ip[2]);
- long d = Integer.parseInt(ip[3]);
- long ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;
- return ipNum;
- }
java 代码
- private static boolean isInner(long userIp,long begin,long end){
- return (userIp>=begin) && (userIp<=end);
- }
- 浏览: 25901 次
- 性别:

- 来自: 深圳

- 详细资料
搜索本博客
我的相册
struts2-ajax-code
共 2 张
共 2 张
链接
最新评论
-
JSON的序列化和反序列化
看上去不错
-- by sunyujia -
Struts2.0与DWR2.0 的整 ...
正在测试楼主的附件...
-- by custer7572 -
校验码图片生成
老兄,知识要灵活运用...不是什么代码Copy过去就没事了!
-- by lxy19791111 -
校验码图片生成
<img src="/servlet/randomImgCodeServl ...
-- by hqingjin83 -
校验码图片生成
唔。。。验证码无法显示啊
-- by hqingjin83






评论排行榜