JSP 공부 기록(5)-세션 관리, URL Rewriting, Hidden Field, 예제
my code archive
article thumbnail
반응형
HTTP 프로토콜 연결 방식

HTTP 프로토콜을 사용한 웹 클라이언트 & 웹 서버의 연결은 일회성 연결이다.

->웹 클라이언트로부터 전송되는 요청을 웹 서버에서 처리한 후 응답을

전달받는 순간 끊어지게 된다.

->사용자가(고객이) 누구인지 기억하지 않는다.

(단골 가게에 자주 가도 단골 가게에서 나를 기억하지 않는다.)

 

->세션의 목표는 사용자가 누구인지를 기억하는 것!! ->로그인&로그아웃

 

URL Rewriting

웹 서버와 웹 클라이언트 연결 여부를 확인하기 위해 웹 페이지 이동 시

URL 주소에 세션 관련 정보를 추가하여 세션을 관리하는 방식.

 

GET 방식을 이용

-> URL 길이에 제한이 있다.

-> 보안성이 떨어진다.

 

예제

URLRewritingLogin.jsp 페이지 제작

 

URLRewritingLogin.jsp 페이지를 통해 아이디와 비밀번호를 입력받아 로그인을 체크하는
URLRewritingLoginChk.jsp 제작

 

 

로그인이 정상적으로 실행됐을 경우 접속한 아이디, 비밀번호를 확인하기 위한
URLReWRITINGpwChk.jsp 제작

-> URL 주소에 세션 관리에 대한 데이터가 노출되기 때문에 보안상 단점이 있다.

 

Hidden Field

HTML <input> 태그의 type 속성을 "hidden"으로 지정하는 숨김 필드를 사용하는 방식.

<input type="hidden"....>

URL Rewriting 방식에 비해 보안적인 면에서 약간의 장점을 가진다.

예제

-로그인 기능을 제공하는 HiddenFieldLogin.jsp 페이지 제작

-로그인 성공 시 환영 메시지를 출력할 HiddenFieldLoginChk.jsp 페이지 제작

-HiddenFieldMenu.jsp 페이지 제작

위 HiddenFieldLoginChk.jsp 페이지는 접속 권한 여부 상관없이 [사용 가능 메뉴 확인] 버튼 출력
->이 버튼을 누르면 숨김 필드들을 HiddenFieldMenu.jsp 페이지에 POST 방식으로 전송
->HiddenFieldMenu.jsp 페이지는 전달 파라미터 중 로그인 사용자의 권한 값이 저장된
"grade" 변수에 따라 사용 가능 메뉴를 보여준다.

->Hidden Field 방식은 GET 방식을 사용하는 URL Rewriting 방식에 비해 보안성이 높지만

웹 브라우저의 '소스 보기'기능을 사용하면 데이터 확인이 가능하므로

여전히 보안상 위험을 내포하고 있다.

 

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형