- 浏览: 105187 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
safda1:
没明白为什么要把mac进行分段比较呢?
Java验证IP和MAC地址 -
yiqi1943:
原因是什么呢
MyBatis排序 -
sunlightcs:
在局域网外,获取不到mac地址吧。
Java获得登录的IP和MAC地址
ip匹配
mac地址匹配
说明:StringUtils来自import org.apache.commons.lang.StringUtils;
/** * 验证requestIp是否匹配bindIp,匹配返回true,否则返回false * @param bindIp 绑定的IP * @param requestIp 待验证的IP,即登录IP * @return * @throws Exception */ public boolean validBindIp(String bindIp, String requestIp) throws Exception { //无绑定IP,则所有IP都是正确的。 if (StringUtils.isEmpty(bindIp)) { return true; } if (StringUtils.isEmpty(requestIp)) { return false; } //是否绑定的标志,true为2个IP匹配,false为不匹配。 boolean validBindIp = true; //split 函数需要的参数是正则表达式,【.】在正则表达式有特殊含义,所以要转义。 String[] bindIpSplits = bindIp.split("\\."); String[] requestIpSplits = requestIp.split("\\."); int bindIpSplitsLength = bindIpSplits.length; int requestIpSplitsLength = requestIpSplits.length; int minLength = bindIpSplitsLength < requestIpSplitsLength ? bindIpSplitsLength : requestIpSplitsLength; for (int i = 0; i < minLength; i++) { //标志为false,则跳出循环。 if (!validBindIp) { break; } //"*"匹配所有 if (bindIpSplits[i].indexOf("*") != -1) { continue; } //对应的值是否相等。如果不等,则绑定标志置为false。 if (!requestIpSplits[i].equals(bindIpSplits[i])) { validBindIp = false; } } return validBindIp; } public boolean validBindIp(String[] bindIps, String requestIp) throws Exception { if (bindIps == null || bindIps.length == 0) { return true; } if (StringUtils.isEmpty(requestIp)) { return false; } boolean validBindIp = false; for (String bindIp : bindIps) { //如果有一个符合,则比较完成,退出循环,返回true。 if (validBindIp) { break; } validBindIp = this.validBindIp(bindIp, requestIp); } return validBindIp; } public boolean validBindIp(String bindIpsWithSeparator, String requestIp, String separator) throws Exception { if (StringUtils.isEmpty(bindIpsWithSeparator)) { return true; } if (StringUtils.isEmpty(requestIp)) { return false; } if (StringUtils.isEmpty(separator)) { separator = ","; } String[] bindIps = bindIpsWithSeparator.split(separator); return this.validBindIp(bindIps, requestIp); }
mac地址匹配
/** * 验证requestMac是否匹配bindMac,若匹配返回true,否则返回false * @param bindMac 绑定的物理地址 * @param requestMac 待验证的物理地址 * @return * @throws Exception */ public boolean validBindMac(String bindMac, String requestMac) throws Exception { //无绑定MAC,则所有MAC都是正确的。 if (StringUtils.isEmpty(bindMac)) { return true; } if (StringUtils.isEmpty(requestMac)) { return false; } //是否绑定的标志,true为2个MAC匹配,false为不匹配。 boolean validBindMac = true; String[] bindMacSplits = bindMac.split("-"); String[] requestMacSplits = requestMac.split("-"); int bindMacSplitsLength = bindMacSplits.length; int requestMacSplitsLength = requestMacSplits.length; int minLength = bindMacSplitsLength < requestMacSplitsLength ? bindMacSplitsLength : requestMacSplitsLength; for (int i = 0; i < minLength; i++) { //标志为false,则跳出循环。 if (!validBindMac) { break; } //"*"匹配所有 if (bindMacSplits[i].indexOf("*") != -1) { continue; } //对应的值是否相等。如果不等,则绑定标志置为false。 if (!requestMacSplits[i].equalsIgnoreCase(bindMacSplits[i])) { validBindMac = false; } } return validBindMac; } public boolean validBindMac(String[] bindMacs, String requestMac) throws Exception { if (bindMacs == null || bindMacs.length == 0) { return true; } if (StringUtils.isEmpty(requestMac)) { return false; } boolean validBindMac = false; for (String bindMac : bindMacs) { //如果有一个符合,则比较完成,退出循环,返回true。 if (validBindMac) { break; } validBindMac = this.validBindMac(bindMac, requestMac); } return validBindMac; } public boolean validBindMac(String bindMacsWithSeparator, String requestMac, String separator) throws Exception { if (StringUtils.isEmpty(bindMacsWithSeparator)) { return true; } if (StringUtils.isEmpty(requestMac)) { return false; } if (StringUtils.isEmpty(separator)) { separator = ","; } String[] bindMacs = bindMacsWithSeparator.split(separator); return this.validBindMac(bindMacs, requestMac); }
说明:StringUtils来自import org.apache.commons.lang.StringUtils;
- commons-lang-2.5.jar (272.6 KB)
- 下载次数: 14
发表评论
-
glassfish--IOP00810011: Exception from readValue on ValueHandler in CDRInputStre
2012-10-09 10:05 2683问题日志信息描述: [#|2012-10-08T18:44:0 ... -
JDK linux 安装 install
2012-08-06 11:03 1350指导手册 1.说明:root是超级用户,test为普通用户 2 ... -
读取,修改jar文件
2012-07-16 14:48 2143读取,修改,操作,编辑,jar文件 文件选择 jarFileS ... -
Oracle JDBC DbUtil jdbc数据库连接
2012-05-26 12:28 2744Oracle JDBC DbUtil jdbc数据库连接 1. ... -
netbeans 多线程 IllegalStateException
2012-05-25 12:28 1464WARNING [org.netbeans.core.wind ... -
JAVA TCP SOCKET
2012-05-24 19:23 1424TcpConnect.java /* * To cha ... -
Java Socket 连接超时
2012-05-24 19:11 1961Java Socket 连接超时设置 String ip ... -
netbeans platform 控件可以自动缩放(放大 缩小)
2012-05-24 18:54 1952netbeans platform 控件可以自动缩放(放大 缩 ... -
netbeans platform TopComponent 重新组合显示
2012-05-22 09:52 990netbeans platform TopComponent ... -
调用netbeans 平台自己的方法
2012-05-11 10:42 1122全屏 import javax.swing.Action; ... -
JAVA定时执行
2011-07-05 13:44 1839LoadResourceTimerTask.java pa ... -
自定义标签+反射
2011-04-20 17:05 699说明:为了使用dhtmlx的Tree控件,动态生成所需的xml ... -
加载properties文件至java.util.Properties对象
2011-04-07 10:53 950java.net.URL url = Thread.cur ... -
Java获得登录的IP和MAC地址
2010-11-29 16:26 13718/** * 通过HttpServle ...
相关推荐
Java,运用了多线程内部执行,不影响其他登录验证操作。在Controller类获取客户端的IP地址的方法是:request....所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址方法分开。
web系统Licence验证 保证java web ,可以现在IP,mac,自定义参数,License生成器 (JAVA源码+界面) 其中包括license授权机制的原理和制作license的具体步骤 增加了mac 地址验证
保证java web ,spirngboot,tomcate web安全,可以现在IP,mac,自定义参数,License生成器 (JAVA源码+界面) 其中包括license授权机制的原理和制作license的具体步骤 增加了mac 地址验证
验证规则: 1. Broadcast mac address (FF:FF:FF:FF::FF:FF:) 2. IPv4 & IPv6 multicast mac address 3. Numeric character code list : 代码如下:function isValidMacAddress(address) { var c = ”; var i = 0,...
1.支持mac地址校验 2.支持ip校验 3.支持cup、主板序列号校验 4.支持注册账号数限制
验证IP地址 isIP string是否匹配regex isMatch 屏幕相关→ScreenUtils.java 获取手机分辨率 getDeviceWidth、getDeviceHeight 设置透明状态栏(api大于19方可使用) setTransparentStatusBar 隐藏状态栏(注释萌萌哒) ...
ActiveMQ插件,用于连接验证 在外部activeMQ服务器中加入验证插件:插件加入地址为activeMQ/lib activeMQ.xml植入的配置文件 < value>http://127.0.0.1:8082/activeMQ/checkSecret</
java asm jndi_JNDI-Injection-Exploit,用于log4j2漏洞验证 可执行程序为jar包,在命令行中运行以下命令: $ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar [-C] [command] [-A] [address] 其中: -C ...
超级用户身份验证和命令(在文档中有详细说明) 多平台(Windows/Mac/Linux) 跑步 这是一个 NetBeans 项目。 该项目包含客户端和服务器部分。 要启动服务器,请在 NetBeans 上导入项目并运行文件src/servidor/...
一个嵌入式linux的/etc目录完美配置,多人验证成功 能实现更改用户登陆名,hostname,MAC,IP等等.并且重启有效
2.来访IP记录,如果来源Reffer和当前地址相同,则不记录Reffer。 3.记录来访IP记录的总访问数。(注:若间隔6小时以上,则重新记录) 4.解决站点手机监控平台中url地址不自动断行引起的美观和左右滑摆问题。 5....
# device/softwinner/polaris-common/rild/ip-down:system/etc/ppp/ip-down \ # device/softwinner/polaris-common/rild/ip-up:system/etc/ppp/ip-up \ # device/softwinner/polaris-common/rild/3g_dongle.cfg:...
java.text.ParseException ex = new java.text.ParseException("cannot read MAC address from [" + ipConfigResponse + "]", 0); ex.printStackTrace(); throw ex; } private final boolean windowsIsMacAddress...
# bluetooth MAC address programming #chown bluetooth net_bt_stack ro.bt.bdaddr_path #chown bluetooth net_bt_stack /system/etc/bluetooth #chown bluetooth net_bt_stack /data/misc/bluetooth #setprop...
在电脑上通过 adb 和 IP 地址连接 Android 设备。 adb connect <device-ip-address> 这里的 <device-ip-address> 就是上一步中找到的设备 IP 地址。 如果能看到 connected to <device-ip-address>:5555 这样的输出...
# bluetooth MAC address programming #chown bluetooth net_bt_stack ro.bt.bdaddr_path #chown bluetooth net_bt_stack /system/etc/bluetooth #chown bluetooth net_bt_stack /data/misc/bluetooth #setprop...
# device/softwinner/polaris-common/rild/ip-down:system/etc/ppp/ip-down \ # device/softwinner/polaris-common/rild/ip-up:system/etc/ppp/ip-up \ # device/softwinner/polaris-common/rild/3g_dongle.cfg:...
它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析...