[그누보드5] 회원 완전히 삭제하기
Lpla
·2021. 3. 24. 23:13
반응형
버전에 따라 다를 수 있지만 그누보드는 관리자페이지 회원관리에서 회원 삭제 버튼을 클릭하더라도
삭제 기능 자체가 작동하지 않거나 혹은 삭제되더라도 db에 데이터가 남아 있어 해당 아이디나 이메일로 가입이 불가능한 경우가 발생한다.
그누보드에서 회원을 완전히 삭제하기 위해서는 파일을 수정해야 한다.
수정할 파일은 lib/common.lib.php 이다.
먼저 member_delete 함수에서 아래 코드를 주석처리한다.
// 회원 삭제
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);
// 이미 삭제된 회원은 제외
// 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}' ";
.
.
}
그리고 주석처리한 곳 바로 다음에 아래 코드를 추가한다.
// 회원 삭제
function member_delete($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(" delete from {$g5['member_table']} where mb_id = '$mb_id' ");
.
.
}
저장한 다음 관리자페이지에서 회원 삭제를 다시 시도해보면 이제 깔끔하게 삭제되고 db에도 데이터가 남아 있지 않다.
참고 : 그누스터디
반응형