File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
/*
* Copyright 2008-2009 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package kcc.com.cmm.util;
import java.io.UnsupportedEncodingException;
import java.net.InetAddress;
import java.net.URLEncoder;
import java.net.UnknownHostException;
import javax.servlet.http.HttpServletRequest;
public class IpUtil {
public static String getClientIP(HttpServletRequest request) {
String userip = request.getHeader("X-Forwarded-For"); // 아이피 가져오기 아파치 아래에 웹로직이 있을경우
if ( userip == null || "".equals(userip) ) { // 아이피 가져오기 , 바로 웹로직이 있을경우
userip = request.getRemoteAddr();
}
if ( userip == null || "".equals(userip) ) {
return "";
}
String[] userips = userip.split(",");
return userips[0];
}
public static String getBrowser(HttpServletRequest request) {
String header = request.getHeader("User-Agent");
//System.out.println("header:"+header);
if (header.indexOf("MSIE") > -1 || header.indexOf("rv:11.0") > -1) {
return "MSIE";
}else if (header.indexOf("Opera") > -1 || header.indexOf("OPR") > -1) {
return "Opera";
}else if (header.indexOf("Chrome") > -1) {
return "Chrome";
}else if (header.indexOf("Firefox") > -1) {
return "Firefox";
}
return "Firefox";
}
public static String getStr(HttpServletRequest request,String str) throws UnsupportedEncodingException {
String header = request.getHeader("User-Agent");
String browser;
if (header.indexOf("MSIE") > -1 || header.indexOf("rv:11.0") > -1) {
browser = "MSIE";
} else if (header.indexOf("Chrome") > -1) {
browser = "Chrome";
} else if (header.indexOf("Opera") > -1) {
browser = "Opera";
} else {
browser = "Firefox";
}
if (browser.equals("MSIE")) {
str = URLEncoder.encode(str, "UTF-8")
.replaceAll("\\+", "%20");
} else if (browser.equals("Firefox")) {
str = new String(str.getBytes("UTF-8"), "8859_1");
} else if (browser.equals("Opera")) {
str = new String(str.getBytes("UTF-8"), "8859_1");
} else if (browser.equals("Chrome")) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c > '~') {
sb.append(URLEncoder.encode("" + c, "UTF-8"));
} else {
sb.append(c);
}
}
str = sb.toString();
} else {
str = "Not supported browser";
}
return str;
}
public static String getOzServerName(String serverNm) {
String ozServerNm = "";
if(serverNm.contains("localhost") || serverNm.contains("119.193.215.98") || serverNm.contains("iten.co.kr") || serverNm.contains("192.168.0.176") || serverNm.contains("ljhtest")) {//로컬 및 개발서버 요청시 서버 경로 처리
ozServerNm = "http://119.193.215.98:8086";
// ozServerNm = "http://192.168.0.176:8091";
}else if(serverNm.contains("192.168.39.144")) {//저작위 업무시스템망에서 오즈 요청시 오즈 서버 경로 처리
ozServerNm = "http://192.168.39.145:8080";
}
return ozServerNm;
}
public static String getClientIPv4(HttpServletRequest request) {
String userip = request.getHeader("X-Forwarded-For"); // 아파치 아래에 웹로직이 있을경우 아이피 가져오기
if (userip == null || "".equals(userip)) { // 아이피 가져오기 , 바로 웹로직이 있을경우
userip = request.getRemoteAddr();
}
if (userip == null || "".equals(userip)) {
return "";
}
// 여러 IP가 있을 경우 첫 번째 IP 사용
String[] userips = userip.split(",");
userip = userips[0].trim();
// IPv6 주소인 경우 IPv4로 변환 시도
try {
InetAddress inetAddress = InetAddress.getByName(userip);
if (inetAddress instanceof java.net.Inet6Address) {
byte[] ipv4Bytes = new byte[4];
System.arraycopy(inetAddress.getAddress(), 12, ipv4Bytes, 0, 4);
InetAddress ipv4Address = InetAddress.getByAddress(ipv4Bytes);
return ipv4Address.getHostAddress();
}
} catch (UnknownHostException e) {
e.printStackTrace(); // 예외 발생 시 로그 출력
}
// IPv4 주소라면 그대로 반환
return userip;
}
}