IP주소는 하드코딩을 피해라.
책 '자바 코딩, 이럴 땐 이렇게'에서 이번에도 꼭 알아두어야 할 것 같은 부분을 보고 남기려고 한다. 서버 프로그램을 작성할 때 서버의 IP를 소스코드에 하드코딩하는 습관이 바람직하지 않다고 한다.
첫 번째 이유는 관리적인 측면과 유지보수의 측면에서 볼 수 있다. 말 그대로 서버의 IP가 바뀌었거나, 소스 수정을 할 때 하나하나 찾아가며 바꿔야 하기 때문이다.
두 번째 이유는 보안적인 측면인데, 자바 소스는 디컴파일(decompile)이 가능하기 때문이다. 즉 JVM이 인식하는 코드 .class코드가 유출된다면 IP정보가 쉽게 유출된다는 점이다.
해결 방안
package Test; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class Example { private static final String DEFAULT_PROPERTIES_PATH = "d://test.properties"; private static String serverIP; public static void main(String[] args) throws Exception { setServerIP(Example.getKey("serverIp")); } public static String getKey(String key) throws Exception { String value = null; InputStream is = new FileInputStream(DEFAULT_PROPERTIES_PATH); Properties properties = null; try { properties = new Properties(); properties.load(is); value = properties.getProperty(key); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { } } return value; } public static String getServerIP() { return serverIP; } public static void setServerIP(String serverIP) { Example.serverIP = serverIP; } }
'대학 생활 > JAVA' 카테고리의 다른 글
[JAVA] method array 만들기 (0) | 2015.01.14 |
---|---|
[JAVA] 올바른 list.toArray() 사용법 (1) | 2015.01.07 |
[JAVA] 가변인자(varargs : Variable Argument List) 사용법, 사이즈 (0) | 2014.12.24 |
[JAVA] PreparedStatement SQL 출력,확인하기 (2) | 2014.12.21 |