PHP

[PHP] 30분뒤 자동 로그아웃


[PHP] 30분뒤 자동 로그아웃


  2021-09-25  600 View 공개

PHP를 사용하여 세션을 30분 후에 로그아웃되게 만들려면 세션의 수명을 30분으로 설정하고, 30분 동안 아무 활동이 없을 경우 세션을 파기하는 방법을 구현해야 합니다. 아래는 이를 달성하기 위한 기본적인 단계입니다.

 세션 시작

PHP 세션을 사용하기 위해 먼저 세션을 시작해야 합니다.
PHP
session_start();

 세션 유지시간 설정

세션 수명은 세션 변수가 유지되는 시간을 결정합니다. 30분 동안 유지하려면 세션 수명을 설정해야 합니다. 아래의 코드를 사용하여 30분으로 설정할 수 있습니다.
PHP
$session_lifetime = 1800; // 30분 (1분 = 60초)
ini_set('session.gc_maxlifetime', $session_lifetime);

 세션 활동 갱신

세션은 사용자의 활동이 있는 경우에만 계속 유지됩니다. 
따라서 사용자의 활동이 있을 때마다 세션의 수명을 다시 설정해야 합니다. 
예를 들어, 사용자가 페이지를 로드할 때마다 다음과 같이 세션 수명을 갱신할 수 있습니다.
PHP
$_SESSION['last_activity'] = time(); // 현재 시간으로 갱신

 세션 파기

30분 동안 사용자의 활동이 없다면 세션을 파기해야 합니다. 이를 위해 각 페이지 상단에 아래와 같은 코드를 추가합니다.
PHP
if (isset($_SESSION['last_activity']) && (time() - $_SESSION['last_activity'] > $session_lifetime)) {
    // 세션 파기
    session_unset();
    session_destroy();
}

 로그아웃

사용자가 로그아웃할 때 세션을 파기하려면 다음과 같이 로그아웃 버튼 또는 링크를 만들고 클릭할 때 세션을 파기하는 코드를 실행합니다.
-
<a href="logout.php">로그아웃</a>
logout.php 파일에서 세션 파기 코드를 실행합니다.
PHP
<?php
session_start();
session_unset();
session_destroy();
// 로그아웃 후 리다이렉트 또는 다른 작업 수행
header("Location: login.php"); // 로그인 페이지로 리다이렉트 예시
?>
이러한 단계를 따르면 세션은 30분 동안 유지되며, 사용자의 활동이 없을 경우 자동으로 로그아웃됩니다.


🚩 PHP 글 모음 (총 56 건)

[PHP] 공공데이타포탈 XML 자료 파싱하기

Last Updated : 2023-09-30
#XML파싱 #공공데이타포탈

이메일 존재여부 확인

Last Updated : 2023-09-29

[PHP] 30분뒤 자동 로그아웃

Last Updated : 2023-09-29

[PHP] 타임존을 한국시간으로 설정하는 방법

Last Updated : 2023-09-29
#PHP #TIMEZONE

[PHP] 동시에 한 PC 에서만 로그인을 제한하는 방법

Last Updated : 2023-09-29
#php

[PHP] mb_substr 로 한글 문자열을 깨지지 않고 안전하게 분리하기

Last Updated : 2023-09-29
#PHP #mb_substr #한글문자열자르기