세션에 의한 자동 로그아웃 알림창

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
세션에 의한 자동 로그아웃 알림창

QA

세션에 의한 자동 로그아웃 알림창

본문

세션에 의한 자동 로그아웃 알림창은 common.php 쪽에 넣어야하는걸까요..?

common.php 쪽에서

세션없을때

if ($_SESSION['ss_mb_id']) {

}else{ 

 

}

else 부분일거같긴한데.. 자동로그인이 아니라 일반이면 원래 세션에 있던 회원인지 어떻게 구분해야할까요..

개인정보처리방침 뭐 작성하는거때문에 하고있는데 구 그누보드는 몇개 안되어있는게 있어 일일히 수정하려다보니 막혔네요 ㅜㅜ

이 질문에 댓글 쓰기 :

답변 1

세션이 없으면 로그아웃이 처리되는 겁니다.

그냥 세션이 없으니 로그인하세요.. 이렇게 알람이 뜨도록 되어 있는겁니다.

즉, 원래 세션이 있었는지 여부는 알수 없습니다.

원래 세션이 있었던걸 알려면, 그 세션을 따로 저장해서 비교해야 합니다.

별로 권하고 싶지은 않은 방법이구요..

 

자동로그인은 쿠키로 저장하구요..

아래 소스 부분이 해당됩니다.

쿠키가 있으면 세션 로그인 처리를 해주는 겁니다.


    // 자동로그인 ---------------------------------------
    // 회원아이디가 쿠키에 저장되어 있다면 (3.27)
    if ($tmp_mb_id = get_cookie('ck_mb_id')) {
 
        $tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20);
        // 최고관리자는 자동로그인 금지
        if (strtolower($tmp_mb_id) !== strtolower($config['cf_admin'])) {
            $sql = " select mb_password, mb_intercept_date, mb_leave_date, mb_email_certify from {$g5['member_table']} where mb_id = '{$tmp_mb_id}' ";
            $row = sql_fetch($sql);
            if($row['mb_password']){
                $key = md5($_SERVER['SERVER_ADDR'] . $_SERVER['SERVER_SOFTWARE'] . $_SERVER['HTTP_USER_AGENT'] . $row['mb_password']);
                // 쿠키에 저장된 키와 같다면
                $tmp_key = get_cookie('ck_auto');
                if ($tmp_key === $key && $tmp_key) {
                    // 차단, 탈퇴가 아니고 메일인증이 사용이면서 인증을 받았다면
                    if ($row['mb_intercept_date'] == '' &&
                        $row['mb_leave_date'] == '' &&
                        (!$config['cf_use_email_certify'] || preg_match('/[1-9]/', $row['mb_email_certify'])) ) {
                        // 세션에 회원아이디를 저장하여 로그인으로 간주
                        set_session('ss_mb_id', $tmp_mb_id);
 
                        // 페이지를 재실행
                        echo "<script type='text/javascript'> window.location.reload(); </script>";
                        exit;
                    }
                }
            }
            // $row 배열변수 해제
            unset($row);
        }
    }
    // 자동로그인 end ---------------------------------------
답변을 작성하시기 전에 로그인 해주세요.
전체 59,923
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT