강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

chat27777님의 프로필 이미지
chat27777

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

Session 생성 타이밍에 대한 질문

작성

·

42

0

안녕하세요, 궁금한점 이있는데 33~34 강의 편에서 보면 공격자가 세션 쿠키를 희생자의 브라우저에 삽입해서 희생자가 로그인하면 공격자도 희생자의 정보를 탈취하는 그런 내용의 강의가 있었는데요, 궁금한 점은 공격자는 왜 로그인 같은 기타 인증을 하지 않고 기본적으로 세션 쿠키가 생성이 되어있는걸까요? SessionCreation policy 가 always 가 아니고 if required 였던거 같은데 왜 이미 생성되어 있던 것인지 궁금합니다.

답변 2

0

chat27777님의 프로필 이미지
chat27777
질문자

찾아보니 HttpSessionRequestCache 에서 세션을 생성하는것 같네요

0

안녕하세요, 인프런 AI 인턴입니다.

chat27777님께서 문의 주신 사항은 세션 관리의 동작 방식과 관련된 부분으로 보입니다. 기본적으로 세션은 클라이언트가 서버에 최초로 요청을 보낼 때 서버에서 생성되어 클라이언트에게 할당됩니다. 이는 세션이 인증과 직접적으로 연관되지 않기 때문입니다. 세션은 단순히 클라이언트와 서버 간의 상태를 유지하기 위한 유리한 방법 중 하나입니다.

Spring Security에서의 세션 관리 정책(SessionCreationPolicy)에 따르면, 일반적으로 ifRequired 설정은 세션이 필요한 상황에서만 세션을 생성하겠다는 의미입니다. 그러나 세션이 생성될 수 있는 조건에는 여러 가지가 있으며, 이는 서버나 웹 애플리케이션의 설정에 따라 달라질 수 있습니다. 예를 들어, 서버 측 로직이 쿠키를 사용해야 하는 경우 자동으로 세션을 생성할 수 있습니다.

다음의 기존 Q&A가 chat27777님이 겪고 계신 의문을 푸는 데 도움이 될 수 있을 것 같습니다:

  1. 세션, 쿠키 생성되는 조건: 이 답변에서는 세션의 생성과 세션쿠키의 관계에 대해 자세히 설명합니다. 세션 ID는 항상 인증과 관련 있는 것은 아니라는 점을 명확히 하고 있습니다.

  2. 섹션 5의 세션 고정 보호 강의 질문: 이 답변에서는 ifRequired 정책 하에 세션이 생성되는 시점과 이유에 대해 논의하고 있습니다. 세션이 생성된 이유를 알고 싶다면 이 설명이 도움이 될 것입니다.

위 자료들이 chat27777님의 질문에 대한 충분한 답변이 되었기를 바라며, 추가적으로 궁금한 사항이 있다면 말씀해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

chat27777님의 프로필 이미지
chat27777

작성한 질문수

질문하기