java 投票ip限制_java 限定网站在指定IP段访问
标签:
贴代码
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段访问相关推荐
- java ip正则表达式_java如何用正则表达式判断IP格式
java如何用正则表达式判断IP格式 发布时间:2020-06-25 18:24:25 来源:亿速云 阅读:174 作者:Leah 本篇文章给大家分享的是有关java如何用正则表达式判断IP格式,小编 ...
- 如何限定IP访问服务器端口(只允许指定IP访问数据库服务器的1433端口)
1.找到"控制面板"->"Windows防火墙"->"高级设置"->"入站规则" 2.选中左侧的&qu ...
- 怎么查看网站数据库服务器ip地址,怎么查看网站数据库服务器ip地址吗
怎么查看网站数据库服务器ip地址吗 内容精选 换一换 排查安全组规则.排查网络ACL.排查弹性云服务器内部网卡信息.排查不通端口.相同,请查看同一个VPC内的两台弹性云服务器无法互通或者出现丢包等现象 ...
- java模拟器ip_谷歌浏览器模拟手机浏览器且指定IP运行
1.背景 因为现在项目是要做分布式,而以前使用谷歌浏览器模拟手机运行做的分布式,是指定在某台机器运行是通过Jenkins配置,来指定服务器,但是这样有一个问题,如果大家都同时配置到某台电脑,那台服务器 ...
- php网站屏蔽指定IP
注意: 如域名使用了云加速,则以下方法均失效,需在云加速中添加IP黑名单. 方法一:页面后缀必须为.php <?php//获取用户IP地址if($HTTP_SERVER_VARS["H ...
- java线程唤醒线程_Java中如何唤醒“指定的“某个线程
群里有学C#转Java的小朋友问:Java中有木有一个办法唤醒一个"指定的"线程. 熟悉线程操作的小朋友应该知道,Java中线程的挂起和唤醒一般用synchronized + wa ...
- mysql 不限定 ip_mysql 不指定 ip 的连接默认都是 localhost
问题场景 在本地使用 docker 启动了一个 mysql 容器,并把本地的33067端口映射到容器内 mysql 的 3306,我们假设容器的 ip 地址是 172.17.0.2,使用本地的 mys ...
- mysql 怎么设置ip地址_Mysql如何设置用户指定ip地址操作数据库
Mysql设置用户指定ip地址操作数据库的方法: 语法: grant priv_type on mysql.user to 'user'@'host' identified by 'password' ...
- 手机 java服务器ip地址_java获取系统当前服务器IP地址
BZOJ-1008 越狱 数论快速幂 1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 6192 Solved: 26 ...
最新文章
- PHP远程DoS漏洞深入分析及防护方案
- php 实现 pacs 系统,影像管理系统(PACS)
- python下载超链接文件-如何使用python从docx文件中提取超链接中的url
- .Net/C#分库分表高性能O(1)瀑布流分页
- 生活感悟——和尾号990的滴滴师傅的聊天
- socket 收不到16进制 数据_UDP编程-套接字(socket)
- 苹果android怎么升级,微信系统升级!苹果安卓手机如何升级更新为最新版微信8.0?...
- es6语法([...arr], set/map数据结构,数组扩展,箭头函数等)
- 前端字体图标的下载与使用
- linux怎么从超级用户切换,linux怎么切换到超级用户
- IP网络摄像机安装注意事项
- 从零开始的前端—HTML 02
- 前端练习--京东导航
- php开发环境搭建和基础入门
- 推荐:基于.NET写的本地搜索工具-EverythingToolbar
- 外媒聚焦:孙宇晨任格林纳达驻WTO大使,为WTO注入数字经济动力
- MIUI10国际版系统自定义字体设置办法
- manor的博客导航,大数据の蜕变之路
- Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架
- java中statement对象的作用,Statement stmt=null的作用是什么?该如何解决
热门文章
- 你真的理解“吃亏是福”么?
- [置顶] Java程序员们读什么书决定了对未来职业方向的选择
- jsp访问WEB-INF下面的资源
- 小女也爱C#(5)---程序员内功心法数据结构(完全平衡二叉树)
- r230/r250/m200
- 笨方法python3_“笨方法”学Python3,习题 41 。
- python输出print(x+y)_Python语句序列“x='car';y=2; print(x+y)”的输出结果是_学小易找答案...
- android fersco 框架,Android Fresco框架的简单使用
- mysql中lock_mysql中的锁lock
- 怎么用python打印照片_[宜配屋]听图阁