중복로그인 막기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

중복로그인 막기 정보

중복로그인 막기

본문


// 중복 로그인 방지 시작
$mb_id = $_POST[mb_id];
$mb = get_member($mb_id);
$session_dir = $g4['path'] . "/data/session";
$d = dir($session_dir);
while (false != ($entry = $d->read())) {
    $temp = file($session_dir . '/' . $entry);
    if (preg_match("`ss_mb_id\|[^;]*\"" . $mb[mb_id] . "\";`", $temp[0])) {
    //세션디렉토리 설정
    $session_dir = $g4['path'] . "/data/session";
    $d = dir($session_dir);
    while (false !== ($entry = $d->read())) {
      if (substr($entry, 0, 1) != '.' && $entry != 'index.php'){
        $temp = file($session_dir . '/' . $entry);
        if (preg_match("`ss_mb_id\|[^;]*\"" . $mb[mb_id] . "\";`", $temp[0])) {
          unlink($session_dir . '/' . $entry);
        }
      }
    }
    alert("회원님의 아이디 {$mb[mb_id]} 는 이미 접속 중입니다.\\n\\n보안상 중복으로 접속하실 수 없어 이전 접속을 종료합니다.\\n\\n이 경고창이 계속 발생할 경우 비밀번호 변경을 해주세요.\\n\\n비밀번호 변경 후 지속적으로 이 경고창이 발생할 경우 관리자에게 문의해주세요.", $g4[path]);
  }
}
// 중복 로그인 방지 끝



출처 : https://sir.kr/g4_tiptech/10498 (PhotoFly 님)



오래전에 팁이라서 그런지 안되서 살작 고쳐서 사용중인 방법 입니다.


skin/member/login_check.skin.php 에 추가만 해주면 됩니다.
추천
0

댓글 4개

올려주신 소스는 그누보드 4로 작성 된 소스이군요.
그누보드 5에 적용가능한 소스로 수정했습니다.


// 중복 로그인 방지 시작 ----- {
$mb_id = $_POST[mb_id];
$mb = get_member($mb_id);
$session_dir = G5_DATA_PATH."/session";
$d = dir($session_dir);
while (false != ($entry = $d->read())) {
    $temp = file($session_dir . '/' . $entry);
    if (preg_match("`ss_mb_id\|[^;]*\"" . $mb[mb_id] . "\";`", $temp[0])) {
        //세션디렉토리 설정
        $session_dir = G5_DATA_PATH."/session";
        $d = dir($session_dir);
        while (false !== ($entry = $d->read())) {
            if (substr($entry, 0, 1) != '.' && $entry != 'index.php'){
                $temp = file($session_dir . '/' . $entry);
                if (preg_match("`ss_mb_id\|[^;]*\"" . $mb[mb_id] . "\";`", $temp[0])) {
                    unlink($session_dir . '/' . $entry);
                }
          }
      }

      alert("회원님의 아이디 {$mb[mb_id]} 는 이미 접속 중입니다.\\n\\n보안상 중복으로 접속하실 수 없어 이전 접속을 종료합니다.\\n\\n이 경고창이 계속 발생할 경우 비밀번호 변경을 해주세요.\\n\\n비밀번호 변경 후 지속적으로 이 경고창이 발생할 경우 관리자에게 문의해주세요.", G5_URL);
  }
}
// ----- } 중복 로그인 방지 끝

위 소스를
/theme/적용할테마명/skin/member/login_check.skin.php 에 추가하시면 동작됩니다.
$temp = file($session_dir . '/' . $entry); 이 부분에서
Parse error: syntax error, unexpected ' ' (T_STRING) in D:\AutoSet10\public_html\szpz\api\api.login_frm.php on line 25 이런 에러가 나오면 어떻게 해야 할까요 ㅜ.ㅜ
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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