티스토리 뷰

웹/그누보드

그누보드 중복로그인 방지

krfreedevlife 2022. 2. 25. 09:40
반응형

중복 로그인을 IP 기준이 아닌 로그인 자체로 중복인지 판별하는 방법

 

*설명 

1. 로그인을 하면서 임의의 값을 세션과 회원 여분필드 1에 저장해준다

2. 그누보드 head에서 세션값과 회원여분필드값이 같은지 검사해준다

 

 

1.그누보드 로그인 하는 부분에서

 

bbs/login.check.php

 

// 회원아이디 세션 생성
set_session('ss_mb_id', $mb['mb_id']);

여기 아래부분에 

//중복로그인 방지 검사값
$dbl_login = rand(10000,99999);
sql_fetch(" update {$g5['member_table']} set mb_1 = '{$ss_login}' where mb_id = '{$mb_id}' ", false);
set_session('ss_mb_1_ss', $ss_login);

부분을 추가해준다.

 

2. 그누보드 혹은 아미나여도 상관없음

테마사용중이면 테마 폴더에서 head.php

 

html 출력되기 전 php 코드 부분에

 

 

$ss_mb_1 = get_session('ss_mb_1_ss');
if($member){
    if( $ss_mb_1 != $member['mb_1']){
        if(function_exists('social_provider_logout')){
             social_provider_logout();
        }
        session_unset(); // 모든 세션변수를 언레지스터 시켜줌
        session_destroy(); // 세션해제함
        alert('중복접속으로 인하여 로그아웃 되었습니다.', G5_URL);
    }
}

 

회원인지 검사한 후에 -> 안그러면 비회원일때도 세션 비교하려고하니

세션값이 여분필드1과 틀리다면

소셜로그아웃 함수 있으면 실행하고

세션다 없애고

 

중복접속 경고 띄우고 메인으로 간다

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함