s

세션타임아웃기능

· 2023-06-25 (일) 10:41:38 · 1747

PHP에서는 세션정보의 유효기간을 php.ini 에서 lifetime 부분을 설정하게 합니다.

그러나 소스를 출시할때 소스셋팅에서 php.ini파일설정과 같은 공정을 하나 거쳐야 하며, 수정을 위해서는 값변경후 서비스재시작해야 하는 등 불편한 점이 있습니다.

그래서 코드적으로 유효기간을 설정하는 방법을 하나 서술해드립니다.

[code]

function idle($time)
{
    if (!isset($_SESSION['timeout_idle'])) {
        $_SESSION['timeout_idle'] = time() + $time; // 세션'timeout_idle' 값이 비었으면 현 시점을 기준으로 $time값만큼을 유효기간으로 설정
    } else {
        if ($_SESSION['timeout_idle'] < time()) {            
            return true; // session 유효기간이 만료
        } else {
            $_SESSION['timeout_idle'] = time() + $time; // 새 요청이 올때마다 현 시점을  기준으로 유효기간을 업데이트
        }
    }
    return false; // 세션기간 유효
}

/* 이용방법 아래의 코드부분을 사이트내 보안로직의 적당한 곳에서 사용*/

$idle = idle(10 * 60);//10분간 세션정보 유효
if ($idle === true) { //만일 세션정보유효기간이 만료되었으면
    print "세션타입 아웃되었습니다!";    
    exit;
}

[/code]

 

위와 같은 코드를 사용하면 세션유효기간을 임의의로 설정하면서도 서비스를 중지하지 않아도 되며

php.ini 파일을 별도로 편집하지 않아도 됩니다.

 

|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
기타 23-07-03 조회 1,802
MySQL 23-07-02 조회 2,267
JavaScript 23-07-01 조회 1,911
PHP 23-06-30 조회 2,905
MySQL 23-06-29 조회 7,660
node.js 23-06-28 조회 1,931
node.js 23-06-27 조회 1,485
PHP 23-06-26 조회 1,714
PHP 23-06-25 조회 1,748
PHP 23-06-24 조회 1,221
PHP 23-06-22 조회 1,511
PHP 23-06-20 조회 1,609
기타 23-06-19 조회 1,873
23-06-17 조회 1,253
기타 23-06-18 조회 2,315
PHP 23-06-17 조회 1,611
JavaScript 23-06-16 조회 2,310
PHP 23-06-15 조회 1,982
23-05-16 조회 1,189
기타 23-06-13 조회 1,620
PHP 23-06-05 조회 1,708
PHP 23-05-28 조회 2,022
기타 23-05-23 조회 2,361
PHP 23-05-19 조회 1,831
PHP 23-05-18 조회 1,975
PHP 23-05-08 조회 2,021
JavaScript 23-04-10 조회 1,716
MySQL 23-04-08 조회 1,939
MySQL 23-03-15 조회 1,958
PHP 23-03-14 조회 2,351