fix #980 최고관리자의 로그인 유지 및 session_regenerate_id(true)로 인한 세션 데이터가 유지되지 않을 수 있는 문제 고침

This commit is contained in:
bnu 2014-09-23 12:17:23 +09:00
parent 826d7f674b
commit bc786236b1

View file

@ -1873,8 +1873,7 @@ class memberController extends member
function validateSession()
{
$destory_session = false;
if($_SESSION['ipaddress'] != $_SERVER['REMOTE_ADDR']) $destory_session = true;
if($_SESSION['destroyed'] === true) $destory_session = true;
if($destory_session)
{
@ -1887,9 +1886,16 @@ class memberController extends member
function regenerateSession()
{
if(!$_SESSION['session_checkup'] || time() - $_SESSION['session_checkup'] > 30)
if(!$_SESSION['session_checkup'])
{
session_regenerate_id(true);
$_SESSION['session_checkup'] = time();
}
if(time() - $_SESSION['session_checkup'] >= 1)
{
$_SESSION['destroyed'] = true;
session_regenerate_id();
$_SESSION['destroyed'] = false;
$_SESSION['session_checkup'] = time();
}
}