스팸성 댓글 일괄 삭제하기(IP 방식)
기본 제로보드 화일을 건드리지 않고, 스킨의 해당화일 만을 수정하여 스팸성 간단 답글을 삭제하는 방법을 소개합니다.
관리자(admin)으로 접속하면 [블록]이란 것이 활성화 되고, 클릭하면 바로
해당 아이피가 올린 해당게시물의 간단 답글을 일괄 삭제를 합니다.
해당 아이피를 블록 아이피에 등록을 합니다.
해당 스킨의 화일중
view_comment.php의 파일 맨 윗부분에 정의를 해 줍니다.
<? // 스팸글 삭제를 위한 정의부분;
$a_block=($member[is_admin]==1) ? "<a onfocus=blur() href='". $dir ."/cmgAvoidIP.php?$href$sort&no=$no&c_no=$c_data[no]&c_ip=$c_data[ip]'>" : "<cmg ";
?>
그리고 난 후에 같은 파일 소스중 링크가 출력할 자리를 선택을 해서 <?=$a_block?>[블록]</a> 이 소스를 더 추가를 해 주면 됩니다.
이 아래는 복사를 한 후에 파일 이름을 cmgAvoidIP.php으로 저장을 하여서 제로보드 스킨 폴더에 넣어주세요.
//여기에서 부터 복사
<?
include "../../_head.php";
if(!eregi($HTTP_HOST,$HTTP_REFERER)) Error("정상적으로 글을 삭제하여 주시기 바랍니다.");
// 코멘트 삭제
$view_comment_result=mysql_query("select * from $t_comment"."_$id where parent='$no' order by no asc");
while($c_data=mysql_fetch_array($view_comment_result)) {
if(eregi($c_data[ip], $c_ip)){
mysql_query("delete from $t_comment"."_$id where no='$c_data[no]'") or error(mysql_error());
$total=mysql_fetch_array(mysql_query("select count(*) from $t_comment"."_$id where parent='$no'"));
mysql_query("update $t_board"."_$id set total_comment='$total[0]' where no='$no'") or error(mysql_error());
}
}
$setup = get_table_attrib($id);
$avoid_ip=explode(",",$setup[avoid_ip]);
$Blocked = 0;
$count = count($avoid_ip);
for($i=0;$i<$count;$i++){
$TrimedAvoidIp = trim($avoid_ip[$i]);
if(!isblank($TrimedAvoidIp)&&eregi($TrimedAvoidIp, $c_ip)) {
$Blocked=1;
break;
}
}
if(!$Blocked) {
$avoid_ip = $c_ip.", ".$setup[avoid_ip];
mysql_query("update $admin_table set avoid_ip='$avoid_ip'");
}
@mysql_close($connect);
// 페이지 이동
if($setup[use_alllist]) movepage("../../zboard.php?id=$id&page=$page&page_num=$page_num&select_arrange=$select_arrange&desc=$des&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&no=$no");
else movepage("../../view.php?id=$id&page=$page&page_num=$page_num&select_arrange=$select_arrange&desc=$des&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&no=$no");
?>
//여기까지 입니다.
주의할 점은 한 번 코멘트를 삭제를 한 후에는 그 아이피는 차단이 되어 버립니다.
아이피가 잘 못 차단이 되었을 때는 게시판 Setup모드에서 그 아이피를 삭제하세요.