본문 바로가기
Spring

Session 타임 아웃 설정

by Mecodata 2024. 4. 15.

필요성

- 사용자가 웹 사이트를 떠나거나 일정 시간 동안 아무런 활동을 하지 않을 때 세션을 자동으로 종료시켜 보안을 강화하고 서버 리소스를 효율적으로 관리할 수 있음 → 일정 시간이 지나면 자동 로그아웃

- 세션은 서버의 메모리에 저장되는데 별도의 타임 아웃 설정 없이 무한정 보관하게 되면 메모리 초과로 인하여 서버에 과부하가 올 수 있음

- 유저의 세션을 해커가 탈취했을 때 서버쪽에서 해당 유저의 세션이 살아있다면 악의적인 접근 및 공격이 가능함

 

적용 방법

- HTTP Session은 기본 생명 주기가 30분

- application.properties에서 다음 설정을 입력 

※ 두 속성 모두 기본 단위는 초(s)이며 m(분), h(시) 입력 가능

server.servlet.session.timeout=5s
server.servlet.session.cookie.max-age=5s

- server.servlet.session.timeout = 서버세션을 유지하는 시간 지정

- server.servlet.session.cookie.max-age = 클라이언트가 해당 세션 쿠키를 유지하는 시간 지정 

두 속성의 값이 서로 같도록 입력해야 함 세션의 서버 측 타임아웃과 클라이언트 측 쿠키의 최대 수명을 동일하게 유지하여 일관성 있게 세션을 관리하기 위함  

'Spring' 카테고리의 다른 글

SseEmitter  (1) 2024.04.29
Spring Data Redis  (0) 2024.04.18
JDBC와 DB 연동  (0) 2024.03.19
https 통신 방법 (SSL 인증서)  (1) 2024.02.14
The import org.springframework cannot be resolved 에러 (Gradle)  (0) 2024.02.12

댓글