보통 먼가를 처리하기 위해서 페이지를 호출할때는 2가지 GET하고 POST가 있다. 근데 작업을 하다보니까 이 둘중 한가지만 처리하고 싶을 때가 있더라 이거지...
예를 들어서? 글지우기를 하는데 DeleteProc.jsp같은 파일이 이전 페이지에서 비밀번호를 넘겨받아서 확인되면 처리하는데 이런 경우 GET방식으로 악의적인 시도를 막아야 한단 말이지 물론 로그인 다른 처리로도 할 수 있겠지만 내가 POST로 넘겨주니까 GET방식은 아예 거절해버리고 싶은 거라서 찾았더니 있었다.
String whatMethod = request.getMethod();
이 메서드를 사용하면 GET방식으로 왔는지 POST방식으로 넘어왔는지 확인할 수 있다. 내 환경 Tomcat 5.5에서는 post를 소문자로 사요하더라도 여기서 찍힐때는 모두 대문자로 찍혔다. 다른데서도 다 똑같은지는 모르겠지만 더 정확히 하려면 toLowerCase()라든지 toUpperCase()를 써주면 확실하겠지. 어떤 방식으로 넘어왔는지 알았으니까 필요없는 건 거절하면 처리 할 수 있다.
더불어
String Referer = request.getHeader("referer");
이 메서드를 사용하면 리퍼러를 알 수 있다.
http://localhost:8090/TestWTP/index.jsp 와 같은 형태로 출력이 된다. 원하는 형태로 앞쪽의 URL만 체크해서 해당 서버 외에서 온 리퍼럴은 거절해 버리면 어느정도의 악의적인 시도는 막을 수 있다.
Comments