게시물 전체 삭제하는 법좀 여쭤볼게요~

게시물 전체 삭제하는 법좀 여쭤볼게요~

QA

게시물 전체 삭제하는 법좀 여쭤볼게요~

답변 5

본문

얼마전부터 아래와 같이 이상한 게시글들이 막 쌓이면서 안에 링크도 걸어놓고

그래서 트래픽이 초과되는 문제가 생기고 있었습니다. 

 

일단 게시글은 아무도 못쓰게 글쓰기 권한 10레벨로 모두 맞춰놨는데요.
혹시 해당 게시글 전체 삭제하는 방법이 있을까요?

DB에 들어가서 삭제하면 된다는걸로 알고는 있는데 제가 프로그래머가

아니라 정확하게 할줄은 모르는데요. 

 

게시판만 삭제한다고 되는일은 아닌걸로 알아서 여쭤봅니다.

또한, 이런 문제를 원천적으로 봉쇄하는 방법이 뭐가 있을까요?

이일때문에 자유게시판, 견적문의 게시판 모두 일단 닫아놓은 상태라서

근본적인 해결책이 있나싶습니다 ㅠ 

 

 

2049487109_1741326242.8457.jpg

이 질문에 댓글 쓰기 :

답변 5

안녕하세요...

 님

 

먼저 게시글을 모두 비우는 방법입니다.

extend 폴더에 가셔서 아무 파일명 하나 만들어주세요

예) delete.php 이렇게 만들어도 됩니다.

 

그리고 아래 코드를 넣어주세요

넣으신 다음에 아래에 보면 test 라고 적혀있는거 보이시나요 ?

거기에 지우실 게시판 아이디를 적어주시고,

관리자 페이지에 들어가면 다 지워집니다.

그리고 해당 파일은 지워주세요 관리자 페이지에 들어갈때마다 지워지기 때문에 주석하거나 지워주세요
 

만약 여러개라면 free 하고 지우고 test 하고 지우고 abcd 하고 지우심 되세요


<?php if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
 
function empty_board_event_hook() {
    add_event('admin_common', 'empty_board_table');
}
 
// 훅 등록 실행
empty_board_event_hook();
 
// 특정 게시판의 테이블을 비우는 코드
function empty_board_table() {
    global $g5;
   
    // g5_write_test 테이블 비우기
    $sql = "TRUNCATE TABLE {$g5['write_prefix']}test";
    sql_query($sql);
}

 

또한 원천 봉쇄는 불가능하지만, 그누보드 실 개발자분이 업로드 해두신 플러그인 링크로 남겨두겠습니다.

 

https://sir.kr/g5_plugin/10184

1) 스팸글 차단 플러그인 => https://sir.kr/g5_plugin/10184

 

2) 게시글 전체 삭제 임시 파일 생성, 업로드 후 브라우저에서 실행하는 방법

* /delete_posts.php


<?php
include_once('./_common.php');

$bo_table = 'free'; // 이 부분을 삭제할 게시판 ID로 변경하세요
$write_table = $g5['write_prefix'] . $bo_table;
 
// 파일 삭제 처리
$sql = "SELECT bf_file FROM {$g5['board_file_table']} WHERE bo_table = '{$bo_table}'";
$result = sql_query($sql);
$deleted_files = 0;
$file_path = G5_DATA_PATH . '/file/' . $bo_table;
for ($i = 0; $row = sql_fetch_array($result); $i++) {
  @unlink($file_path . '/' . $row['bf_file']);
  $deleted_files++;  
}
 
// DB 테이블 초기화
sql_query("TRUNCATE TABLE {$write_table}");
sql_query("DELETE FROM {$g5['board_file_table']} WHERE bo_table = '{$bo_table}'");
sql_query("DELETE FROM {$g5['board_new_table']} WHERE bo_table = '{$bo_table}'");
 
// 게시판 통계 초기화
sql_query("UPDATE {$g5['board_table']} SET bo_count_write = 0, bo_count_comment = 0 WHERE bo_table = '{$bo_table}'");
echo '<h2>게시판 게시글 삭제 완료</h2>';
echo '<p>게시판 ID: ' . $bo_table . '</p>';
echo '<p>삭제된 파일 수: ' . $deleted_files . '개</p>';
echo '<p>작업이 완료되었습니다. 이 파일은 삭제하세요.</p>';
?>

에디터 이미지 파일은 삭제되지 않습니다.

에디터 파일 삭제는 복잡하기 때문에..
게시글이 적다면.. 관리자가 게시판 리스트에서 수동으로 삭제하는 방법이 있습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 14
© SIRSOFT
현재 페이지 제일 처음으로