제

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

· 2016-02-03 (수) 11:51:50 · 14086 · 16
자동시스템을 통해서 이름없이 회원가입이 이루어 지고 있는 사이트가 늘어 나고 있습니다.

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


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']);
}
?>
|

댓글 16개

2016-02-03 (수) 13:46:15
http://sir.co.kr/qa/107448?sfl=mb_id%2C2&stx=cjfgjs6745#answer_107832 이런 제가 소스 짠 기능도 있지만..
이게 뭔가 더 효율적일꺼같네용 ㅎ ~~ 추천 드립니다.!!
좋은팁감사합니다.
좋은팁감사합니다.
2016-02-06 (토) 22:40:15
감사합니다.
여러방법으로 응용이 가능할겁니다.
2016-02-18 (목) 12:53:30
보이지 않은 이름이 db에는  로 되어 있는 경우도 있더군요.
$rsql = " select mb_id from {$g5['member_table']} where mb_name = '' or mb_name = ' "; 로
보강을 하면 어떨까 싶습니다 ㅎㅎ
2016-02-18 (목) 22:35:54
$rsql = " select mb_id from {$g5['member_table']} where mb_name in ('', ' ') ";
2016-02-20 (토) 18:17:52
별별 이름이 계속 추가 되고 있네요..
$rsql = " select mb_id from {$g5['member_table']} where mb_name in ('', ' ', 'Ȳ') ";
훗.. 한방에 깔끔하게 해결되네요. 감사합니다.
그누보드 버전업을 생각해서 lib/common.lib.php 가 아닌 tail.sub.php 에 함께 넣는것이 편리하네요. ^^
제로나라님 감사합니다
덕분에 한결 편해졌네요 해피정님 처럼 tail.sub.php 에 몰아넣고 패치해놨네요.

Ȳ 이거까지 추가해놓으니 좋네요
2016-04-14 (목) 14:04:38
저에게도 많은 도움이 되었습니다
2016-05-16 (월) 06:48:13
감사합니다.
2016-07-06 (수) 09:44:41
덕분에 스팸 회원 등록 해결하였습니다. 속이 다 시원하네요~

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

감사합니다!!
제로나라님 덕분에 해결했습니다
속이다 시원하네요 ㅋㅋ
2016-09-07 (수) 06:36:44
좋은팁감사합니다.
2019-07-11 (목) 11:41:15
감사합니다 넣었는데 스팸회원가입 해결되었으면하네요
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
16-03-04 조회 9,433
16-02-29 조회 1.1만
16-02-23 조회 7,633
16-02-19 조회 6,930
16-02-19 조회 7,294
16-02-17 조회 1만
16-02-16 조회 9,049
16-02-16 조회 1.8만
16-02-15 조회 7,888
16-02-10 조회 8,742
16-02-08 조회 7,335
16-02-03 조회 8,590
16-02-03 조회 1.4만
16-01-28 조회 2.8만
16-01-21 조회 1.4만
16-01-20 조회 1.2만
16-01-11 조회 1.1만
16-01-05 조회 1.2만
16-01-05 조회 8,470
16-01-01 조회 1만
15-12-31 조회 1.1만
15-12-30 조회 1.2만
15-12-29 조회 1.4만
15-12-29 조회 1.1만
15-12-29 조회 1만
15-12-29 조회 7,991
15-12-23 조회 9,847
15-12-22 조회 9,475
15-12-21 조회 1.1만
15-12-18 조회 8,564