2026, 새로운 도약을 시작합니다.

중복 로그인 방지 질문입니다.. 채택완료

구글링으로 찾은 중복 로그인 방지 예제인데요..

출처: 그누보드 중복로그인 방지 (tistory.com)

Copy


*설명 

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과 틀리다면

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

세션다 없애고

 

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

그런데 g5_member 여분필드1 저장되지 않고 

중복 로그인해도 아무런 반응이 없는데 어디서 부터 잘못된걸가요? ㅠㅠ

답변 1개

채택된 답변
+20 포인트
$dbl_login==>$ss_login

sql_fetch==>sql_query

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다..

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

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고