본문 바로가기

Programming/Java

Spring-loadled 기반 WAS 재기동 없이 소스 반영 JAVA Web Application 개발 진행 시 소스 수정 시마다 WAS(tomcat)를 재구동 해야 하는 불편함이 있음.위의 불편함을 해소하기 위해 JRebel이라는 툴이 있으나 얼마 전 상용으로 전환됨 (구독 형식). 이에 따른 다른 대안을 찾고자 확인한 사항 Spring-loaded - homepage : https://github.com/spring-projects/spring-loaded- maven : http://mvnrepository.com/artifact/org.springframework/springloaded/1.2.6.RELEASE 파일 다운로드 후, 임의 경로 위치Eclipse 설정1. Publishing -> Automatically publish when resources.. 더보기
다운로드 가능 파일 및 경로 확인 웹 취약점, 모의해킹 시 빈번히 나오는 권한 없는 디렉토리 내 파일 다운로드 가능한 취약점을 방어하기 위한 코드 public static boolean checkFilePath(String filePath) { Boolean checkResult = true; //다운로드 허용할 디렉토리 설정 String allowPath = "/test/"; //금지 문자열 리스트 String blockchar[] = {"..", "../", "..\\"}; for(int i=0; i%lt;blockchar.length;i++) { if( filePath.indexOf(blockchar[i]) != -1 ){ checkResult = false; } } //다운로드 허용된 디렉토리인지 체크 String path = f.. 더보기
Character Set 확인 단일 프로젝트의 경우, Character Set이 문제가 되는 경우는 극히 드물다. 단, 이기종 간 인터페이스가 이루어지는 경우 문제가 발생하는 경우가 다수다. 아래 코드는 수신된 데이터의 Character Set을 판별하고자 할 때 사용할 수 있다. String [] charSet = {"utf-8","euc-kr","ksc5601","iso-8859-1","x-windows-949"}; for (int i=0; i%lt;charSet.length; i++) { for (int j=0; j%lt;charSet.length; j++) { try { logger.info("[" + charSet[i] +"," + charSet[j] +"] = " + new String(message.getBytes(cha.. 더보기
hex String <-> byte array 변환 1. hex string -> byte array byte[] bytes = new java.math.BigInteger(hexText, 16).toByteArray(); 2. byte array -> hex string String hexText = new java.math.BigInteger(bytes).toString(16); Sample public static String toHexString(byte buf[]) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < buf.length; i++) { sb.append(Integer.toHexString(0x0100 + (buf[i] & 0x00FF)).substring(1)); } retur.. 더보기