String ip = request.getHeader("x-forwarded-for");
String regex = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)";
if ((ip == null) || (ip.length() == 0) || (ip.equalsIgnoreCase(localIP)) || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if ((ip == null) || (ip.length() == 0) || (ip.equalsIgnoreCase(localIP)) || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if ((ip == null) || (ip.length() == 0) || (ip.equalsIgnoreCase(localIP)) || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
String[] ipAddrArr = ip.split(",");
for(String ipAddr : ipAddrArr){
if(null != ipAddr && !"unknown".equals(ipAddr) && ipAddr.matches(regex)){
ip = ipAddr;
break;
}
}
UdpGetClientMacAddr umac = new UdpGetClientMacAddr(ip);
String smac = umac.GetRemoteMacAddr();
String regex = "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)";
if ((ip == null) || (ip.length() == 0) || (ip.equalsIgnoreCase(localIP)) || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if ((ip == null) || (ip.length() == 0) || (ip.equalsIgnoreCase(localIP)) || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if ((ip == null) || (ip.length() == 0) || (ip.equalsIgnoreCase(localIP)) || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
String[] ipAddrArr = ip.split(",");
for(String ipAddr : ipAddrArr){
if(null != ipAddr && !"unknown".equals(ipAddr) && ipAddr.matches(regex)){
ip = ipAddr;
break;
}
}
UdpGetClientMacAddr umac = new UdpGetClientMacAddr(ip);
String smac = umac.GetRemoteMacAddr();
1万+

被折叠的 条评论
为什么被折叠?



