본문 바로가기

Request

(8)
세션이 살아 있는지 체크 .jsp 에서 세션이 살아 있는지 체크할 때 대체로는if(session==null){ ... } 과 같이 null 만 체크한다. 그런데, session.invalidate(); 를 실행할 때는.. session!=null 인 상태다. 그러므로,if(session==null || !request.isRequestedSessionIdValid()){ ... } 와 같이 isRequestedSessionIdValid() 를 추가한다.
ajax 로 데이타를 처리할 때 request 의 Referer 를 반드시 체크할 것 String referer = request.getHeader("Referer"); // 보안성 검토. 정상적이지 않은 방법으로 접근시 차단 if(referer.length()==0) return; // 엉뚱한 곳에서 호출하면 리턴, 이건 해킹 시도라고 봐야지.. else if(referer.indexOf("aaa.jsp")>-1) ; // http://www..../aaa.jsp 명확한 경로를 기술 else if(referer.indexOf("bbb.jsp")>-1) ; // http://www..../bbb.jsp 명확한 경로를 기술 else if(referer.indexOf("ccc.jsp")>-1) ; // http://www..../cccjsp 명확한 경로를 기술 else{ System.out...
크롬에서 https 를 실행해도 안전함이 안 뜰 때.. '사이트 정보 보기' 크롬 웹브라우저에서 아래 그림과 같이 'https://' 를 사용했음에도 불구하고 '안전함' 이 뜨지 않는다면..?인증서도 정상적으로 작동하고 인증 기간도 아직 남아 있는데 '안전함' 이라는 마크가 나오지 않는다니..그런데, 아래 화면을 보면 '공격자는 .. 이미지를 볼 수 있으면, 이미지를 수정하여.. 속일 수 있습니다.' 라고 나와요. 그래서 확인해 보니, img 태그 의 src 속성에 http:// 로 시작하는 부분이 있더라구요.동일 서버에서구동할 떄는 프로토콜 부분을 기술하지 않아도 되지만,외부 서버에서 가져오는 이미지라면 이렇게 할 수밖에 없죠.그래서, 해당 화면이 노출될 때 request.getRequestURL() 이 https:// 로 시작하는지 체크해서,https:// 로 시작하는 경우 ..
ajax 에서 데이타가 넘어 오지 않을 때 dataType 을 text 로 해 보심이.. .ajax 가 정상작동하지 않는 경우에는 어떤 것들이 있을까요..?(헷갈릴 수도 있으니까 A.jsp 가 B.jsp 를 .ajax 로 호출한다고 가정하고 설명할께요.) 1. A.jsp 가 B.jsp 를 호출 할 때 파라미터를 제대로 세팅하지 못하거나, A.jsp 가 넘겨준 파라미터를 B.jsp 가 제대로 해석하지 못할 때 2. B.jsp 가 한글이나 공백문자의 문자셋을 제대로 다루지 못하거나, B.jsp 가 넘겨주는 데이타에 문제가 있을 때 3. A.jsp 가 B.jsp 에서 넘어온 데이타를 제대로 해석하지 못할 때 자.. 다시 설명을 해 보면요.. 1. A.jsp 가 B.jsp 를 호출 할 때 파라미터를 제대로 세팅하지 못하거나, A.jsp 가 넘겨준 파라미터를 B.jsp 가 제대로 해석하지 못할 때 -..
form 배열 http://zetawiki.com/wiki/HTML_%EB%B0%B0%EC%97%B4_submit 보내기 링크를 타고 가면 php 설명이 되어 있는데,PHP 에선 상기 form 문의 input name에 fruits[] 라고 해도 되는가 봄. JSP 에서는 fruits 라고 해야 하고 '[' 와 ']' 는 사용하지 않음. 상기와 같이 설정하는 경우 JSP 수신부측에선,request.getParameter("fruits") 에 '귤' 만 체크되고 나머지, 사과/배/파인애플 등은 인식하지 않음 request.getParameterValues("fruits") 를 하면, 아래와 같이 사용.String[] params = request.getParameterValues("fruits");for(int i=0,..
forward, include http://ihacker.blog.me/110016122739 참조. *. forward : 원래의 JSP 에서 다른 JSP 로 현재 페이지를 전환. : 전환시 원래의 JSP 가 가지고 있던 request (파라미터 포함) 와 response 개체를 그대로 사용. 만약 원래의 JSP 에 파라미터가 있었다면 request.getParameter("변수명") 으로 호출이 가능 1. pageContext 개체의 메소드 파라미터를 추가하는 경우 2. JSP 액션 파라미터를 추가하는..
request 개체의 getRequestURL() 과 getRequestURI() 의 차이 아래와 같이 하면.. getRequestURL() 는 https://www.abc123.com:80/test1.jsp, getRequestURI() 는 /test1.jsp 라고 나온다. getRequestURL() 에는 getRequestURI() 내용 외에, 1. http:// 이냐 https:// 이냐의 프로토콜 2. :80 이냐 :8080 이냐의 포트 등이 추가로 표시된다.
JSP 에서 request 개체의 getRemoteHost() 메소드는 속도가 상대적으로 느리네요.. 웹페이지가 갑자기 느려졌다고 해서 이것저것 체크해 봤는데, 결국 request.getRemoteHost() 메소드 때문에 그런거네요.. getRemoteAddr() 하고 getRemoteHost() 가 대체로는 동일한데, 때로는 다른 값을 가지게 되거든요.. addr 쪽이 숫자로 표시되는 IP v4 나 v6,host 쪽은 컴퓨터 ID 등의 고유 명칭으로 IP 와 동일할수도 아닐수도 있음..