[javascript] 세션 파기와 세션 만료 처리

웹 애플리케이션에서 사용자의 세션을 관리하는 것은 중요합니다. 세션을 파기하고 만료 처리하는 방법을 알아보겠습니다.

세션 파기

세션을 파기하는 것은 사용자의 로그아웃 시나리오에서 주로 발생합니다. 기존의 세션을 제거하고 새로운 세션을 생성합니다. 일반적으로는 로그아웃 버튼 클릭 시 세션 파기 함수를 호출하여 세션을 제거합니다.

function destroySession() {
  // 세션 파기 코드
  sessionStorage.removeItem('userSession');
}

세션 만료 처리

세션의 만료 처리는 일정 시간이 지나면 세션을 자동으로 파기하는 것을 의미합니다. 보안을 강화하기 위해 세션 만료 처리는 매우 중요합니다. 보통 서버 측에서 세션 유효 시간을 설정하고, 클라이언트 측에서는 세션이 만료되었는지 확인합니다.

// 서버 측 세션 유효 시간 설정 (예: 30분)
app.use(session({
  secret: 'secretKey',
  resave: false,
  saveUninitialized: true,
  cookie: { maxAge: 1800000 } // 30분
}));
// 클라이언트 측 세션 만료 확인
function checkSessionExpiry() {
  const lastActivityTime = localStorage.getItem('lastActivityTime');
  const currentTime = Date.now();
  if (currentTime - lastActivityTime > sessionTimeout) {
    // 세션 만료 처리 로직 수행
    destroySession();
  } else {
    // 세션 유지
  }
}

마무리

세션 파기와 세션 만료 처리는 사용자 경험 및 보안 측면에서 중요한 요소입니다. 올바른 방법으로 세션을 관리하여 웹 애플리케이션의 안정성을 유지하는 데 도움이 될 것입니다.

참고 자료: MDN Web Docs - Session Storage