선

회원 탈퇴 시 데이터 완전 삭제 처리 방법 (코어 수정 없이)

· 2025-06-11 (수) 10:36:48 · 3689 · 9

그누보드 기본 기능에서는 회원 탈퇴 시 mb_leave_date만 기록되고 실제 데이터는 DB에 그대로 남아 있습니다.
이게 프로젝트 보안정책이나 개인정보처리방침에 맞지 않는 경우가 있어서,
“회원 정보 완전 삭제” 기능을 추가하는 방법을 정리해봤습니다.

 

1. /bbs/member_leave.php 하단에 삭제 코드 추가

// 회원 데이터 완전 삭제
$mb_id = $member['mb_id'];
sql_query("DELETE FROM {$g5['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['login_table']} WHERE mb_id = '$mb_id'");
// 추가로 필요한 데이터도 여기에 포함
 

2. 코어를 수정하지 않고 테마에서 처리하고 싶다면?
→ theme 폴더에 member_leave.skin.php를 만들어 POST로 처리 후 리디렉션 시키는 방법도 있습니다.

|

댓글 9개

작성한글에 대해서도 생각해야 할듯 싶은데요

신규가입자가 삭제한 아이디로 생성을 한다면.

@카이루 저도 이게 큰 문제라고 생각..

전체 테이블을 순회하면서 mb_id 필드가 있으면 관련 데이터를 모두 삭제하는 걸 추가해 주면 좋지 않을까 싶습니다. 단순히 회원 DB에서만 삭제한다면 문제가 생길 수 있습니다

그누는 게시판이 여러테이블이기도 하고 게시판글이나 댓글 많이 쓴 회원이 탈퇴하거나 집단탈퇴 현상이 있다면 delete 남발이 이뤄지고 디비락걸리고 서버는 메롱이 됩니다 소프트 delete 로직이 선 적용되어야 하는게 맞다고 봅니다

 

2025-06-11 (수) 22:49:13

저거 밑에다가 

// 모든게시판에서 작성된 글 삭제
$bo_result = sql_query("select * from g5_board");
while($row = sql_fetch_array($bo_result)) { 
    sql_query("DELETE FROM `g5_write_".$row['bo_table']."` WHERE `mb_id` = '$mb_id'");
    sql_query("DELETE FROM `g5_board_new` WHERE `mb_id` = '$mb_id'");
}

이거 넣으면 될거같습니다만..

2025-06-12 (목) 10:17:07

필요했는데, 감사합니다. ^^

2025-06-12 (목) 10:53:36

유용한 정보네요 감사합니다.

감사합니다

감사합니다.

댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
25-06-24 조회 3,321
25-06-22 조회 3,397
25-06-21 조회 4,214
25-06-17 조회 3,217
25-06-17 조회 3,089
25-06-11 조회 3,690
25-06-02 조회 3,314
25-05-28 조회 3,164
25-05-25 조회 3,155
25-05-17 조회 3,219
25-05-17 조회 3,506
25-05-15 조회 3,126
25-05-15 조회 3,508
25-05-14 조회 2,961
25-05-13 조회 3,071
25-05-06 조회 3,323
25-05-06 조회 3,295
25-05-05 조회 3,099
25-05-02 조회 3,563
25-04-27 조회 3,121
25-04-25 조회 2,909
25-04-24 조회 2,988
25-04-23 조회 3,146
25-04-22 조회 3,167
25-04-20 조회 3,342
25-04-19 조회 3,506
25-04-13 조회 3,349
25-04-12 조회 3,128
25-04-10 조회 3,421
25-04-10 조회 3,353