본문 바로가기
php

[php] session timeout 설정하기 #$_SESSION 방법

by bryan.oh 2020. 12. 23.
반응형

PHP $_SESSION 으로 timeout 설정

php.ini 에 설정하는 방법 대신에

코드상에서 제어할 수 있습니다.

 

php.ini 에 설정하게 되면 virtualhost 로 설정한 모든 php 사이트에 적용이 되기때문에, 

코드에서 각각 시간을 설정하는 경우도 있습니다.

// 세션 사용전에 언제나 호출
session_start();


// 마지막 엑션이 10초 지났으면 로그아웃 시킴
if( isset($_SESSION['LAST_ACT']) && time() - $_SESSION['LAST_ACT'] > 10){
    header('Location: /logout.php');
}
$_SESSION['LAST_ACT'] = time();

이 코드를 모든 페이지에 include 시키면 됩니다.

테스트 하느라 10초로 했는데, 저 부분을 수정하시면 됩니다. 초 단위니까 2시간으로 설정하려면 60*60*2

 

그리고 logout.php 에서는 세션을 날려줘야겠죠.

session_unset();   // 모든 세션 변수의 등록 해지
session_destroy(); // 세션 아이디의 삭제

 

이상입니다.

 

2020/12/23 - [php] - [php] session timeout 설정하기 #php.ini 방법

728x90
반응형

댓글