标签:

贴代码

IpUtil.java

package com.datongsoft.wg.common.util;

import java.net.InetAddress;

import java.net.UnknownHostException;

public class IpUtil {

/*验证IP是否属于某个IP段

*

* ipSection IP段(以‘-‘分隔)

* ip 所验证的IP号码

*

*/

public static boolean ipExistsInRange(String ip,String ipSection) {

ipSection = ipSection.trim();

ip = ip.trim();

int idx = ipSection.indexOf(‘-‘);

String beginIP = ipSection.substring(0, idx);

String endIP = ipSection.substring(idx + 1);

return getIp2long(beginIP)<=getIp2long(ip) &&getIp2long(ip)<=getIp2long(endIP);

}

public static long getIp2long(String ip) {

ip = ip.trim();

String[] ips = ip.split("\\.");

long ip2long = 0L;

for (int i = 0; i < 4; ++i) {

ip2long = ip2long << 8 | Integer.parseInt(ips[i]);

}

return ip2long;

}

public static long getIp2long2(String ip) {

ip = ip.trim();

String[] ips = ip.split("\\.");

long ip1 = Integer.parseInt(ips[0]);

long ip2 = Integer.parseInt(ips[1]);

long ip3 = Integer.parseInt(ips[2]);

long ip4 = Integer.parseInt(ips[3]);

long ip2long =1L* ip1 * 256 * 256 * 256 + ip2 * 256 * 256 + ip3 * 256 + ip4;

return ip2long;

}

public static int getExists(String ip){

System.out.println("访问Ip:"+ip);

InetAddress addr;

int ext=0;

boolean exists = false;

try {

addr = InetAddress.getLocalHost();

// String ip=addr.getHostAddress().toString(); //获取本机ip

//String ipSection="10.163.64.00-10.163.71.255";

String ipSection="192.168.0.1-192.168.0.240";

exists =ipExistsInRange(ip,ipSection);

if(exists){

ext=1;

}

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

return ext;

}

public static void main(String[] args) throws Exception{

//10.10.10.116 是否属于固定格式的IP段10.10.1.00-10.10.255.255

/*InetAddress addr = InetAddress.getLocalHost();

String ip=addr.getHostAddress().toString(); //获取本机ip

String hostName=addr.getHostName().toString(); //获取本机计算机名称

//String ip="10.163.10.116";

String ipSection="10.163.64.00-10.163.71.255";

boolean exists=ipExistsInRange(ip,ipSection);

System.out.println(exists);*/

//System.out.println( getExists());

//System.out.println(getIp2long(ip));

//System.out.println(getIp2long2(ip));

}

}

标签:

java 投票ip限制_java 限定网站在指定IP段访问相关推荐

  1. java ip正则表达式_java如何用正则表达式判断IP格式

    java如何用正则表达式判断IP格式 发布时间:2020-06-25 18:24:25 来源:亿速云 阅读:174 作者:Leah 本篇文章给大家分享的是有关java如何用正则表达式判断IP格式,小编 ...

  2. 如何限定IP访问服务器端口(只允许指定IP访问数据库服务器的1433端口)

    1.找到"控制面板"->"Windows防火墙"->"高级设置"->"入站规则" 2.选中左侧的&qu ...

  3. 怎么查看网站数据库服务器ip地址,怎么查看网站数据库服务器ip地址吗

    怎么查看网站数据库服务器ip地址吗 内容精选 换一换 排查安全组规则.排查网络ACL.排查弹性云服务器内部网卡信息.排查不通端口.相同,请查看同一个VPC内的两台弹性云服务器无法互通或者出现丢包等现象 ...

  4. java模拟器ip_谷歌浏览器模拟手机浏览器且指定IP运行

    1.背景 因为现在项目是要做分布式,而以前使用谷歌浏览器模拟手机运行做的分布式,是指定在某台机器运行是通过Jenkins配置,来指定服务器,但是这样有一个问题,如果大家都同时配置到某台电脑,那台服务器 ...

  5. php网站屏蔽指定IP

    注意: 如域名使用了云加速,则以下方法均失效,需在云加速中添加IP黑名单. 方法一:页面后缀必须为.php <?php//获取用户IP地址if($HTTP_SERVER_VARS["H ...

  6. java线程唤醒线程_Java中如何唤醒“指定的“某个线程

    群里有学C#转Java的小朋友问:Java中有木有一个办法唤醒一个"指定的"线程. 熟悉线程操作的小朋友应该知道,Java中线程的挂起和唤醒一般用synchronized + wa ...

  7. mysql 不限定 ip_mysql 不指定 ip 的连接默认都是 localhost

    问题场景 在本地使用 docker 启动了一个 mysql 容器,并把本地的33067端口映射到容器内 mysql 的 3306,我们假设容器的 ip 地址是 172.17.0.2,使用本地的 mys ...

  8. mysql 怎么设置ip地址_Mysql如何设置用户指定ip地址操作数据库

    Mysql设置用户指定ip地址操作数据库的方法: 语法: grant priv_type on mysql.user to 'user'@'host' identified by 'password' ...

  9. 手机 java服务器ip地址_java获取系统当前服务器IP地址

    BZOJ-1008 越狱 数论快速幂 1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 6192 Solved: 26 ...

最新文章

  1. PHP远程DoS漏洞深入分析及防护方案
  2. php 实现 pacs 系统,影像管理系统(PACS)
  3. python下载超链接文件-如何使用python从docx文件中提取超链接中的url
  4. .Net/C#分库分表高性能O(1)瀑布流分页
  5. 生活感悟——和尾号990的滴滴师傅的聊天
  6. socket 收不到16进制 数据_UDP编程-套接字(socket)
  7. 苹果android怎么升级,微信系统升级!苹果安卓手机如何升级更新为最新版微信8.0?...
  8. es6语法([...arr], set/map数据结构,数组扩展,箭头函数等)
  9. 前端字体图标的下载与使用
  10. linux怎么从超级用户切换,linux怎么切换到超级用户
  11. IP网络摄像机安装注意事项
  12. 从零开始的前端—HTML 02
  13. 前端练习--京东导航
  14. php开发环境搭建和基础入门
  15. 推荐:基于.NET写的本地搜索工具-EverythingToolbar
  16. 外媒聚焦:孙宇晨任格林纳达驻WTO大使,为WTO注入数字经济动力
  17. MIUI10国际版系统自定义字体设置办法
  18. manor的博客导航,大数据の蜕变之路
  19. Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架
  20. java中statement对象的作用,Statement stmt=null的作用是什么?该如何解决

热门文章

  1. 你真的理解“吃亏是福”么?
  2. [置顶] Java程序员们读什么书决定了对未来职业方向的选择
  3. jsp访问WEB-INF下面的资源
  4. 小女也爱C#(5)---程序员内功心法数据结构(完全平衡二叉树)
  5. r230/r250/m200
  6. 笨方法python3_“笨方法”学Python3,习题 41 。
  7. python输出print(x+y)_Python语句序列“x='car';y=2; print(x+y)”的输出结果是_学小易找答案...
  8. android fersco 框架,Android Fresco框架的简单使用
  9. mysql中lock_mysql中的锁lock
  10. 怎么用python打印照片_[宜配屋]听图阁