이름 없이 자동가입되는 회원 삭제 > 그누보드5 팁자료실

그누보드5 팁자료실

이름 없이 자동가입되는 회원 삭제 정보

이름 없이 자동가입되는 회원 삭제

본문

자동시스템을 통해서 이름없이 회원가입이 이루어 지고 있는 사이트가 늘어 나고 있습니다.

이름 없는 회원은 개별 관리 없이 삭제처리하면 좀 맘 편히 사이트 관리가 되겠죠...


lib/common.lib.php

// 회원 정보삭제
function member_remove($mb_id)
{
    global $config;
    global $g5;

    $sql = " select mb_name, mb_nick, mb_ip, mb_recommend, mb_memo, mb_level from {$g5['member_table']} where mb_id= '".$mb_id."' ";
    $mb = sql_fetch($sql);
    if ($mb['mb_recommend']) {
        $row = sql_fetch(" select count(*) as cnt from {$g5['member_table']} where mb_id = '".addslashes($mb['mb_recommend'])."' ");
        if ($row['cnt'])
            insert_point($mb['mb_recommend'], $config['cf_recommend_point'] * (-1), $mb_id.'님의 회원자료 삭제로 인한 추천인 포인트 반환', "@member", $mb['mb_recommend'], $mb_id.' 추천인 삭제');
    }

    // 회원자료 삭제
    sql_query(" delete from {$g5['member_table']} where mb_id = '$mb_id' ");

    // 포인트 테이블에서 삭제
    sql_query(" delete from {$g5['point_table']} where mb_id = '$mb_id' ");

    // 그룹접근가능 삭제
    sql_query(" delete from {$g5['group_member_table']} where mb_id = '$mb_id' ");

    // 쪽지 삭제
    sql_query(" delete from {$g5['memo_table']} where me_recv_mb_id = '$mb_id' or me_send_mb_id = '$mb_id' ");

    // 스크랩 삭제
    sql_query(" delete from {$g5['scrap_table']} where mb_id = '$mb_id' ");

    // 관리권한 삭제
    sql_query(" delete from {$g5['auth_table']} where mb_id = '$mb_id' ");

    // 그룹관리자인 경우 그룹관리자를 공백으로
    sql_query(" update {$g5['group_table']} set gr_admin = '' where gr_admin = '$mb_id' ");

    // 게시판관리자인 경우 게시판관리자를 공백으로
    sql_query(" update {$g5['board_table']} set bo_admin = '' where bo_admin = '$mb_id' ");

    // 아이콘 삭제
    @unlink(G5_DATA_PATH.'/member/'.substr($mb_id,0,2).'/'.$mb_id.'.gif');
}

 

-----------------------------------------------------------------------------------------------------------

 

tail.sub.php

 

<?php
$rsql = " select mb_id from {$g5['member_table']} where mb_name = '' ";
$rmb = sql_fetch($rsql);
if ($rmb['mb_id']) {
    member_remove($rmb['mb_id']);
}
?>
추천
11

댓글 16개

http://sir.co.kr/qa/107448?sfl=mb_id%2C2&stx=cjfgjs6745#answer_107832 이런 제가 소스 짠 기능도 있지만..
이게 뭔가 더 효율적일꺼같네용 ㅎ ~~ 추천 드립니다.!!
보이지 않은 이름이 db에는 &nbsp;로 되어 있는 경우도 있더군요.
$rsql = " select mb_id from {$g5['member_table']} where mb_name = '' or mb_name = '&nbsp;"; 로
보강을 하면 어떨까 싶습니다 ㅎㅎ
훗.. 한방에 깔끔하게 해결되네요.  감사합니다.
그누보드 버전업을 생각해서  lib/common.lib.php 가 아닌  tail.sub.php 에 함께 넣는것이 편리하네요. ^^
제로나라님 감사합니다
덕분에 한결 편해졌네요 해피정님 처럼 tail.sub.php 에 몰아넣고 패치해놨네요.

Ȳ  이거까지 추가해놓으니 좋네요
덕분에 스팸 회원 등록 해결하였습니다. 속이 다 시원하네요~

그누보드4 사용 중이라서, 위 코드 중 g5 ->g4로 변경하여 적용하였더니 잘 됩니다.

감사합니다!!
굿팁이네요. ^^


관련글 좌표
https://sir.kr/qa/303434 (특정 패턴 추가하기)
https://sir.kr/g4_tiptech/34251 (비밀값 넘기는 방식)
http://gnustudy.com/bbs/board.php?bo_table=gnu_tip&wr_id=101 (주소변경 방식)
전체 2,426 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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