• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

세션에 관한 질문이 있습니다.

22.12.21 16:53 작성 22.12.21 16:54 수정 조회수 250

0

안녕하세요 선생님.

이번 세션 강의가 조금 저에겐 어렵게 다가오는 부분이 있네요.

궁금한게, 여러번 로그인을 하게 되면 세션이 여러개 생성되는데, 로그아웃 할 때는 저희가 입력한 sessionid만 사라지는 것을 볼 수가 있습니다.

그러면 나머지 sessionid는 현재 저장되어 있는 상태인데, 이렇게 없애지 않는 sessionid가 있어도 보안상 괜찮은건가요~?

답변 1

답변을 작성해보세요.

0

안녕하세요~

좋은 질문입니다! 너무 오래전이라 해당 부분 강의를 다시 확인해봤는데요. 일단 sessionId가 외부로 노출만 되지 않는다면 보안상 문제가 되지는 않아요. 그래도 이런 중복 로그인에 대한 대처가 있는게 좋을 것 같아요. 기기 정보 혹은 localStorage에 deviceId 같은걸 생성해서 저장해두고 해당 정보를 로그인할 때 같이 보내주면 좋을 것 같아요. 만약 동일한 deviceId로 생성된 세션으로 로그인을 시도하면 새로운 세션을 만들지 말고 해당 sessionId를 다시 보내주고요. (잘못된 요청이 아니라서 여기서 굳이 오류처리를 하지는 않아도 되요. 성공적으로 리턴을 하지만 디비상으로 유저의 세션 변동이 없을 뿐)

그리고 서비스에 따라서는 session 만료기간도 같이 두면 좋습니다. SNS 같은 일반적으로 많이 사용되는 서비스들은 만료기간이 매우 길어요(1년 이상). 근데 AWS 같은 클라우드 서비스, 금융 서비스 이런건 보안이 매우 중요하기 때문에 만료기간이 매우 짧죠. 결제나 회원정보 수정 같이 예민한 부분에서는 로그인이 되어 있음에도 불구하고 2차 인증을 요구하기도 하고요

khhan1990님의 프로필

khhan1990

질문자

2022.12.23

잘 확인했습니다. 자세한 답변 감사드립니다 선생님!