본문 바로가기

Java9

[Java Secure Coding] TOCTOU 해결 보안 코딩 방법 하나의 자원에 동시다발적으로 여러 프로세스가 접근해서 컨트롤을 하게 되는 경우가 생긴다. 이러한 점들로 인해 프로그램이 교착상태, 경쟁조건 및 기타 등등의 오류가 발생할 수 있다. 처음에 코딩을 할 때 아무 생각없이 바로 File Delete 를 실행했었는데, 생각해보면 동시에 해당 파일에 접근할 수 있다는 생각을 하지 않고 코딩을 했다. 나중에 들어온 사용자가 먼저 들어온 사용자보다 먼저 작업을 해버리면 파일이 꼬여버리게 된다. 이러한 상태를 방지하기 위한 코딩방법이다. 1. 동기화 구문을 통해 한번에 하나의 스레드만 공유자원(예:파일)에 접근 가능하도록 해야한다. 2. 필요 없는 부분은 구문으로 감싸지 않아 성능에 최대한 영향이 적도록 한다. 일반적으로 File file = new File(URL);.. 2019. 6. 13.
JAVA 이미지 픽셀 컬러 추출 이미지의 특정 부분의 픽셀을 뽑아내야 할 때가 있다. 오늘은 간단히 이미지의 특정 픽셀의 컬러를 추출하는 방법을 포스팅하려 한다. 12345678910111213141516171819202122public static getImgPixel (String url) { BufferedImage image = null; try { image = ImageIO.read(new File(url)); int x = image.getWidth(null); int y = image.getHeight(null); Color color = new Color(image.getRGB(x-1, y-1)); //이미지의 맨 마지막 픽셀의 값 int red = color.getRed(); int blue = color.getBlu.. 2019. 6. 10.
Java WAS서버에서 이미지(Image) 처리하기 회사의 구조가 조금 특이하다. 관리자용 페이지는 내부망에 연결이 되어있고, 실제 고객이 보는 페이지는 당연히 인터넷망에 연결이 되어있다. 이렇다보니 이미지를 다룰 때 관리자 페이지에서 이미지를 보여주는데 문제가 있었다. 요즘은 WAS, WEB 서버가 분리되어 있는 경우가 대부분이라 WAS에서 이미지를 처리하는 경우가 거의없다. 그런데 그 일을 해야하는 경우가 생겨서 포스팅을 한다. 지금처럼 이런 경우가 생긴다면 WAS Server에서 Java로 이미지를 읽고 이를 스트림형태로 페이지에 보내주면 된다. 아래의 소스가 이러한 예제를 보여준다. 12345678910111213141516public void getIMG(HttpServletRequest req, HttpServletResponse res){ S.. 2019. 6. 5.
GET 방식 막는 방법 (URL 직접접속 차단, 서버에서 방식 확인) 주소창에 URL을 입력해서 접근하는 경우가 있다. 만약 GET방식이 막혀있지 않다면 직접 접근을 통해 파라미터를 넘길 수 있기 때문에 취약한 점들이 많다. GET방식을 막는 여러 방법을 찾아보다가 이렇게 직접 URL접근을 막는 방법이 있어서 가져왔다. 12345678910111213 alert("정상적인 경로를 통해 다시 접근해 주십시오."); document.location.href="return jsp or URL"; Colored by Color Scriptercs 추가로 JAVA 서버단에서 이러한 방식을 추가해서 막을 수 있다. (JSP에서도 가능)12request.getMethod().equals("GET")request.getMethod().equals("POST")cs 만약 여기서 POST .. 2019. 5. 30.