PHP

[PHP] 30분뒤 자동으로 로그아웃하는 코드 - Session


[PHP] 30분뒤 자동으로 로그아웃하는 코드 - Session




최초 작성일 : 2023-09-10 | 수정일 : 2025-03-29 | 조회수 : 869


[PHP] 30분뒤 자동으로 로그아웃하는 코드 - Session

PHP에서 30분 뒤에 자동으로 사용자를 로그아웃하는 방법에 대해 알아보겠습니다. 이 기능은 보안 측면에서 매우 중요하며, 웹 애플리케이션의 사용자 경험(UX)를 향상시킬 수 있습니다. 이 포스트에서는 PHP의 $_SESSION을 활용하여 이 기능을 구현하는 방법을 알아보겠습니다.

1. 기본 코드 작성

먼저 로그인 할 때의 코드 일부입니다:

php
session_start();
if ($isLoginSuccess) {
// 로그인 성공 여부를 판단하는 조건문입니다.
$_SESSION['loggedin'] = true; $_SESSION['last_activity'] = time(); // 현재 시간 저장
}

이 코드에서는 로그인이 성공적으로 수행되었을 때, $_SESSION 변수에 loggedinlast_activity 두 가지 정보를 저장합니다. 여기서 last_activity는 로그인한 시점의 시간입니다.

2. 자동 로그아웃 체크

다음으로, 각 페이지 접근 시마다 세션의 유효성을 체크하는 코드입니다:

php
session_start();
if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] === true) {

   // 1800초 = 30분
   if (time() - $_SESSION['last_activity'] > 1800) {
     
      // 마지막 활동으로부터 30분이 지났다면

      session_unset();
     
      // 세션 변수 해제

      session_destroy();
     
      // 세션 파괴

      header('Location: login.php');

      // 로그인 페이지로 리다이렉트

      exit();
 
   } else {

     $_SESSION
['last_activity'] = time();
     // 시간을 갱신
   }

}

이 코드는 페이지에 접근할 때마다 사용자의 마지막 활동 시간을 확인하고, 30분이 경과했는지 판단합니다. 만약 30분이 경과했다면, 세션 정보를 파괴하고 사용자를 로그인 페이지로 리다이렉트합니다. 아니라면 마지막 활동 시간을 현재 시간으로 갱신합니다.

3. 요약

이러한 방식을 통해 사용자가 웹사이트에서 30분 동안 아무런 활동도 없으면 자동으로 로그아웃되게 할 수 있습니다. 이 기능은 사용자의 보안을 강화하는 데 도움을 줄 수 있습니다.


Tags  #PHP  #session  

닉네임:
댓글내용:
🎖️ 'PHP' 카테고리의 다른 인기글
🚀 추천글
추천글
카슈미르, 전쟁의 불씨: 국제적 긴장의 중심에서의 갈등 분석
2025-08-02
  • 카슈미르분쟁
  • 인도파키스탄
  • 카르길전쟁




📸 이미지 프롬프트 복사 완료!
이제 어떤 이미지 생성 도구로 이동하시겠어요?
🧠 ImageFX 🧪 Whisk