탈퇴회원 완전삭제와 게시판 개인정보에 대해 질문드립니다.

탈퇴회원 완전삭제와 게시판 개인정보에 대해 질문드립니다.

QA

탈퇴회원 완전삭제와 게시판 개인정보에 대해 질문드립니다.

답변 2

본문

회사 동영상 공모전 사이트를 짬에 밀려 담당중 인데. 회사 개인정보처리방침에 따라 공모전이 끝난이후와 중간에 공모전을 포기한 회원에 경우 개인정보를 보관하지 않아야 한다고 해서 현재 공모전을 포기한 회원에 대한 개인정보를 아미나 빌더를 이용중이라 완전삭제를 이용하여 회원 db를 전부 삭제 중인데요. 저는 회원 db를 완전삭제하면 정보랑 탈퇴회원이 올린 모든 게시글이 사라지는 줄 알았는데 . 아직 남아있더군요. 이 경우에 탈퇴회원이 남기고간 게시물에서 개인정보를 알수 있을까요??.. 이미 완전삭제로 회원 db를 날린 상태인데.. 게시판에 등록된 정보는 따로 날려야 하나요? ... 남기고간 게시물들을 하나하나 지울려니 좀 벅차네요.... 탈퇴할시 게시물을 한번에 날리는 법이 있을까요?  

이 질문에 댓글 쓰기 :

답변 2

https://apachezone.com/gnu5/15 이걸 사용 하시면 모두 삭제 됩니다.

 

해당 부분만 직접 작업 하시려면 common.lib.php 파일을 열고 "회원 삭제" 로 검색 하셔서

 

그부분의 처음과 끝을 아래 소스로 바꾸어 적용 하시면

관리자 화면에서 회원 삭제시 회원, 게시글, 댓글등 모든 정보가 삭제 처리 됩니다.

 

이작업 후에는 복구를 못하니 혹시 모를일에 대비해 data 와 db 백업은 필수 입니다.

 


// 회원 삭제
function member_delete($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);
    // 회원 완전 삭제 2014.12.3 주석 처리
    // 이미 삭제된 회원은 제외
    //if(preg_match('#^[0-9]{8}.*삭제함#', $mb['mb_memo']))
    //    return;
    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.' 추천인 삭제');
    }
    // 회원자료는 정보만 없앤 후 아이디는 보관하여 다른 사람이 사용하지 못하도록 함 : 061025
    $sql = " update {$g5['member_table']} set mb_password = '', mb_level = 1, mb_email = '', mb_homepage = '', mb_tel = '', mb_hp = '', mb_zip1 = '', mb_zip2 = '', mb_addr1 = '', mb_addr2 = '', mb_birth = '', mb_sex = '', mb_signature = '', mb_memo = '".date('Ymd', G5_SERVER_TIME)." 삭제함\n".sql_real_escape_string($mb['mb_memo'])."' where mb_id = '{$mb_id}' ";
    sql_query($sql);
    
    // 회원 완전 삭제 2014.12.3 추가
    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(" delete from {$g5['board_new_table']} where mb_id = '{$mb_id}' ");    

    // 모든 게시물과 댓글 삭제 2018.3.1 추가
    $i = 0;
    $query = sql_query(" select bo_table from {$g5['board_table']} ");
    while($row = sql_fetch_array($query)) {
    sql_query(" delete from ".$g5['write_prefix'].$row['bo_table']." where mb_id='{$mb_id}'");
    $i++;
    }
    // 그룹관리자인 경우 그룹관리자를 공백으로
    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}' ");
    //소셜로그인에서 삭제 또는 해제
    if(function_exists('social_member_link_delete')){
        social_member_link_delete($mb_id);
    }
    // 아이콘 삭제
    @unlink(G5_DATA_PATH.'/member/'.substr($mb_id,0,2).'/'.$mb_id.'.gif');
    // 프로필 이미지 삭제
    @unlink(G5_DATA_PATH.'/member_image/'.substr($mb_id,0,2).'/'.$mb_id.'.gif');
    run_event('member_delete_after', $mb_id);
}
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 17,962
© SIRSOFT
현재 페이지 제일 처음으로