php

PHP 세션 만료, Php session timeout, Php 세션 타임아웃

마샤와 곰 2020. 9. 14. 12:57

 

세션과 관련된 내용을 자바나 Node.js로만 하다가 간만에 php로 구현해야 되는 경우가 있었습니다.

php에서는 타임설정을 하는 기능은 따로 없어보이며, 시간값을 세션에 넣어주고 나서 계산해야 되는 방식인 것 같습니다.

 

로그인이 성공되면 아래 코드처럼 시간값을 기록합니다.

<?
if(로그인 성공){
    $_SESSION["auth"] = "super";
    $_SESSION['login_time_stamp'] = time();
}
?>

 

그리고나서 include를 통해서 세션이 살아있는지 확인하는 기능을 붙여 줍니다.

<?php
if( !empty($_SESSION["auth"])){
    if (time()-$_SESSION["login_time_stamp"] > 60 * 30) {  //로그인 지속시간(분단위, 30분)
        unset($_SESSION["auth"]);
        session_unset(); 
        session_destroy();
    } else {
        $_SESSION['login_time_stamp'] = time();
    }
}
?>

 

시간값을 편리하게 분(min)단위로 할수 있어서 그렇게 어렵지는 않았습니다.

 

반응형