게시판 스팸글 삭제 방법 문의드려요~
http://www.van-hada.com/bbs/board.php?bo_table=bbs05_01&page=1&page=1">http://www.van-hada.com/bbs/board.php?bo_table=bbs05_01&page=1&page=1
스팸글이 잔뜩 올라와 있는데 이거 한번에 지우는 방법 있을까요 ?
에디터플러스 들어가서 경로를 찾아보려고 햇지만 어디 폴더에 어디경로인지 못찾겠어요 ㅠㅠ
크롬으로 개발자도구 들어가서 소스 보고 찾으려해도 경로는 어떤거인지 몰라서요 ㅠㅠ
도와주세용..ㅠㅠ
답변 5개
심심해서 간단히 스팸 삭제파일 만들어 봤습니다.
실행전 관련 테이블 백업은 필수입니다.
저는 제 테이블에 불과 2개 정도 스팸글 올리고 테스트해 봤습니다.
아래 소스를 적당한 이름 예를 들어 delete_spam.php로 만들어 루트에 올리고
웹브라우저에서 실행하시면 됩니다.
</p>
<p><?php
include_once('./_common.php');</p>
<p>//스팸글 삭제
$tables = array("free", "zeromansei", "qa");//삭제할 게시판명 예)free , qa 등
$spam_words = array("바람난", "유부녀", "그래픽게임", "조건만남", "맞고");//게시판 제목에포함된 필터링 대상 단어들</p>
<p>for($i=0; $i < sizeof($tables); $i++) {
$table = "g5_write_".$tables[$i];
$table_exists = sql_query("select 1 from $table");
if($table_exists !== FALSE) {
for($j=0; $j < sizeof($spam_words); $j++) {
$q = sql_query(" delete from {$table} WHERE wr_subject LIKE '%{$spam_words[$j]}%'");
sql_query($q);
}</p>
<p> echo "$table : 스팸글 삭제완료
";</p>
<p> } else continue;</p>
<p> //또는 for($j=0; 이 for문 대신 아래로 대체
/*
$p = "바람난|유부녀|맞고|그래픽게임|조건만남";</p>
<p> $table_exists = sql_query("select 1 from {$table}");
if($table_exists !== FALSE) {
$q = sql_query(" delete from {$table} WHERE wr_subject regexp '{$p}'");</p>
<p> echo "$table : 스팸글 삭제완료
";</p>
<p> } else continue;
*/
}
?></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
두 가지 방법으로 알려드리겠습니다.
(1)
phpmyadmin에 들어가 sql 부분에 다음을 입력합니다.
delete from bbs05_01 where wr_id > 108
(2)
1. 최상위 폴더에 delete_spam.php 이라는 파일을 하나 만들어, 아래 내용을 붙여넣습니다.
</p>
<p>include_once("./_common.php");</p>
<p>sql_query("delete from bbs05_01 where wr_id > 108");</p>
<p>
2. http://www.van-hada.com/delete_spam.php 에 접속합니다.
3. 1에서 만든 delete_spam.php 파일을 지웁니다.
-----
이 방법은 10월 13일에 작성된 "181009 블랙핑크(BLACKPINK) 리사(Lisa) 출국 [김포공항] by 비몽" 게시물부터 모든 게시물을 삭제하는 방법입니다. 작업 전 반드시 데이터베이스 백업을 하고 진행하세요.
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
저렇게 체크해서 삭제하면 엄청나게 오래걸리고 렉도 걸리더라구요 ㅠ
그래서 DB로 한번에 삭제하고 싶은데..어떻게해야될지 몰라서요 ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인