갑자기 사이트에 스팸글이 올라와서..... 정보
갑자기 사이트에 스팸글이 올라와서.....
본문
오늘 갑자기 제사이트에 가입해서 스팸글을 무지하게
올리는 분이 계셔서 약이올라 회원삭제하면 같이 스팸글도 삭제 되도록 해보았습니다.....^^
로빈아빠님 팁이 좋아보여 사용해 보려 했는데 작동이 안되어서
JS빌더에서 사용하던 소스와 @헌이 님께서 올려주신 팁을 조합해서 적용했더니 다행이 잘 되네요....ㅎㅎ
코어를 건들여야 하기 때문에 @로빈아빠 님 팁을 쓰고 싶은데 어떻게 수정을 해주실려나 모르겠네요....^^
좀 더 extend 폴더에 넣어서 해결하는 방법을 찾아 보아야 겠습니다.
extend 폴더에 넣어서 해결 하려고 작업하다 게시물 다 날리고 백업파일로 복구 했네요......ㅠㅠ
추천
0
0
댓글 35개

이럴때에는 만들어 놓으신 m3cron 이용하시는게 좋을듯 합니다,
저도 아침에 적용 해놓았네요 ㅜㅜ
<?
$mdname = array('0oktu1', 'kf1229love','mmr1234','qmffor85g','9g7g3p','magickh7','bedael','ejrtjsl88','test9940','skdo15778','kimmy','blz003');//스팸아이디 추가
foreach($mdname as $name) {
$mdname = $name;
$query = sql_query("select bo_table from `$g5[board_table]`");
while($row = sql_fetch_array($query)) {
sql_query("delete from `$g5[write_prefix]$row[bo_table]` where mb_id='$mdname'");
sql_query("delete from `$g5[new_win_table]$row[bo_table]` where mb_id='$mdname'");
$sql = " select count(*) as cnt from ".$g5['write_prefix'].$row[bo_table]." where wr_is_comment = 0 ";
$row = sql_fetch($sql);
$bo_count_write = $row['cnt'];
$sql = " select count(*) as cnt from ".$g5['write_prefix'].$row[bo_table]." where wr_is_comment = 1 ";
$row = sql_fetch($sql);
$bo_count_comment = $row['cnt'];
if (isset($_POST['proc_count'])) {
// 원글을 얻습니다.
//$sql = " select wr_id from {$g5['write_prefix']}{$row[bo_table]} where wr_is_comment = 0 ";
$sql = " select a.wr_id, (count(b.wr_parent) - 1) as cnt from ".$g5['write_prefix'].$row[bo_table]." a, ".$g5['write_prefix'].$row[bo_table]." b where a.wr_id=b.wr_parent and a.wr_is_comment=0 group by a.wr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
/*
// 코멘트수를 얻습니다.
$sql2 = " select count(*) as cnt from {$g5['write_prefix']}$row[bo_table] where wr_parent = '{$row['wr_id']}' and wr_is_comment = 1 ";
$row2 = sql_fetch($sql2);
*/
sql_query(" update ".$g5['write_prefix'].$row[bo_table]." set wr_comment = '".$row['cnt']."' where wr_id = '".$row['wr_id']."' ");
}
}
// 공지사항에는 등록되어 있지만 실제 존재하지 않는 글 아이디는 삭제합니다.
$bo_notice = "";
$lf = "";
if ($board['bo_notice']) {
$tmp_array = explode(",", $board['bo_notice']);
for ($i=0; $i<count($tmp_array); $i++) {
$tmp_wr_id = trim($tmp_array[$i]);
$row = sql_fetch(" select count(*) as cnt from ".$g5['write_prefix'].$row[bo_table]." where wr_id = '".$tmp_wr_id."' ");
if ($row['cnt']) {
$bo_notice .= $lf . $tmp_wr_id;
$lf = ",";
}
}
}
$sql = " update ".$g5['board_table']."
set bo_notice = '".$bo_notice."',
bo_count_write = '".$bo_count_write."',
bo_count_comment = '".$bo_count_comment."'
where bo_table = '".$row[bo_table]."' ";
sql_query($sql);
}
}
?>
저도 아침에 적용 해놓았네요 ㅜㅜ
<?
$mdname = array('0oktu1', 'kf1229love','mmr1234','qmffor85g','9g7g3p','magickh7','bedael','ejrtjsl88','test9940','skdo15778','kimmy','blz003');//스팸아이디 추가
foreach($mdname as $name) {
$mdname = $name;
$query = sql_query("select bo_table from `$g5[board_table]`");
while($row = sql_fetch_array($query)) {
sql_query("delete from `$g5[write_prefix]$row[bo_table]` where mb_id='$mdname'");
sql_query("delete from `$g5[new_win_table]$row[bo_table]` where mb_id='$mdname'");
$sql = " select count(*) as cnt from ".$g5['write_prefix'].$row[bo_table]." where wr_is_comment = 0 ";
$row = sql_fetch($sql);
$bo_count_write = $row['cnt'];
$sql = " select count(*) as cnt from ".$g5['write_prefix'].$row[bo_table]." where wr_is_comment = 1 ";
$row = sql_fetch($sql);
$bo_count_comment = $row['cnt'];
if (isset($_POST['proc_count'])) {
// 원글을 얻습니다.
//$sql = " select wr_id from {$g5['write_prefix']}{$row[bo_table]} where wr_is_comment = 0 ";
$sql = " select a.wr_id, (count(b.wr_parent) - 1) as cnt from ".$g5['write_prefix'].$row[bo_table]." a, ".$g5['write_prefix'].$row[bo_table]." b where a.wr_id=b.wr_parent and a.wr_is_comment=0 group by a.wr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
/*
// 코멘트수를 얻습니다.
$sql2 = " select count(*) as cnt from {$g5['write_prefix']}$row[bo_table] where wr_parent = '{$row['wr_id']}' and wr_is_comment = 1 ";
$row2 = sql_fetch($sql2);
*/
sql_query(" update ".$g5['write_prefix'].$row[bo_table]." set wr_comment = '".$row['cnt']."' where wr_id = '".$row['wr_id']."' ");
}
}
// 공지사항에는 등록되어 있지만 실제 존재하지 않는 글 아이디는 삭제합니다.
$bo_notice = "";
$lf = "";
if ($board['bo_notice']) {
$tmp_array = explode(",", $board['bo_notice']);
for ($i=0; $i<count($tmp_array); $i++) {
$tmp_wr_id = trim($tmp_array[$i]);
$row = sql_fetch(" select count(*) as cnt from ".$g5['write_prefix'].$row[bo_table]." where wr_id = '".$tmp_wr_id."' ");
if ($row['cnt']) {
$bo_notice .= $lf . $tmp_wr_id;
$lf = ",";
}
}
}
$sql = " update ".$g5['board_table']."
set bo_notice = '".$bo_notice."',
bo_count_write = '".$bo_count_write."',
bo_count_comment = '".$bo_count_comment."'
where bo_table = '".$row[bo_table]."' ";
sql_query($sql);
}
}
?>

@헌이 회원삭제와 동시에 모든게시물도 한번에 날리려구요....^^
common.lib.php 에서 해결 했습니다만, 코어쪽 안걸들여 볼까하고 extend 에 파일 넣어보려구요.
common.lib.php 에서 해결 했습니다만, 코어쪽 안걸들여 볼까하고 extend 에 파일 넣어보려구요.

@亞波治 한방에 날리면 속이 쉬원해집니다. ㅋㅋ

저도 아침에 접속하니 도배를 해놨네요 구글 캡챠해서 잠잠하더니 ㅋㅋ 뚤린듯 보입니다.

참고로 스팸아이디 삭제 하면 다른아이디로 제가입하여 도배 합니다.

@亞波治 그렇지 않아도 메시지 보고 확인중에 있는데 문제는 값자기 토큰에러가 나서 그쪽으로 보고 이습니다.^^ 그것부터고치고 확인해보겠습니다.
회원정보 삭제만 처리한 루틴은 다음과 같습니다. (변수명 기입방법 정리)
회원정보 삭제만 처리한 루틴은 다음과 같습니다. (변수명 기입방법 정리)
<?php
// 제목 : extend에 넣는 회원정보 삭제
// 작성 : 로빈아빠 2018-03-02
// 파일명 extend/_ar.delete_member.php
// 주요기능 : 회원관리자에서 삭제된 회원을 완전히 삭제함..
if ($is_admin=='super' && strstr($PHP_SELF,"/member_list_delete.php") && isset($chk) && count($chk) &&!$g5['proc_member_list_delete'] ) {
echo __LINE__;exit;
$is_delete=false;
$g5['proc_member_list_delete']=true;
$achk=array();
for ($i=0; $i<count($chk); $i++)
{
// 실제 번호를 넘김
$k = $_POST['chk'][$i];
$mb = get_member($_POST['mb_id'][$k]);
if ($mb['mb_level']<=1 && !$mb['mb_password']) {
$sql2="delete from {$g5['member_table']} where mb_id='{$mb['mb_id']}'";
sql_query($sql2);
$is_delete=true;
}
else {
$achk[]=$k;
}
}
if ($is_delete) {
$chk=$achk;
}
}
?>

@로빈아빠 좋은 자료 감사 합니다 아이디삭제시 제가입 하여 다시 도배를 하는데... 회원정보삭제및 ip차단도 첨부하면 괜찮을듯 보입니다,

@로빈아빠 삭제가 안됩니다....ㅜㅜ

확인해보니 member_list_delete.php -> member_list_update.php 로 파일명이 변경되었군요..^^
새 루틴을 올리도록 하겠습니다. ^^
새 루틴을 올리도록 하겠습니다. ^^

@로빈아빠 넵. 그럼 기다릴께요....ㅎㅎ

흠 이건 해피정님 판매하고 계셔서 안건드리려고 핬는데 eztend와는 별갸로 jquery로 ajax를 써야 될겁니다

@Rido 코어 건들이면 쉬운데 extend에 넣어서 해볼려니 어렵네요....^^;;

@亞波治 네 해피정님이 판매하시는것도 코어수정을 하는거 같았습니다

@Rido 컨텐츠몰에 가서 확인하니 가격이 ㅎㄷㄷ 하네요....ㅠㅠ
이거 그냥 공개 할려고 했는데.....ㅠㅠ
이거 그냥 공개 할려고 했는데.....ㅠㅠ

@亞波治 네 그래서 별로 건드리고 싶지 않았습니다 ㅋ

@Rido 그럼 그누파크에만 올리고 우리끼리 쓰면 되죠. 뭐~


@해피정 에쿠 밥줄이 달려있는건데 괜찮으실리가요 ㅡㅜ

@해피정 건드려서 죄송합니다. ^^;;

@亞波治 저도 공감입니다.^^

@로빈아빠 저번에 기본적인 jquery는 만들어 둔게 있는데 고도화 하면 친구가능과 스팸삭제 및 차단이 가능은 할겁니다 ^^*

@Rido 아씨~ 진작에 얘기해주면 이고생 안하잖아요....ㅠㅠ

@亞波治 안 물어 보셨잖아요 ㅋㅋㅋ 이거 거의 실시간 채팅 수준 이네요

순간 Q&A 인줄 ....^^

@스캐폴더 님도 끼세요....ㅎㅎㅎ

저도 해피정님이 판매 하셔서 안건드리려고 했답니다. ^^;;

@헌이 훈훈합니다....^^


@Rido 그러네요. 헌이님코드는 괜찮은데.....ㅋㅋ

@亞波治 요즘 스팸은 아이피도 이미적으로 집어 넣나보내요 가짜아이피 ㅋㅋ

저게 아이디를 계속 돌아가면서 쓰더라구요..
ajax필터링은 피하는것 같아서
내용 소스보고.. 단어 추출해서 write_update에서 특정 단어 들어가면 튕겨버립니다..
그러니까 코멘트로 남기길래 코멘트에도 추가하니 조용하네요 :)
ajax필터링은 피하는것 같아서
내용 소스보고.. 단어 추출해서 write_update에서 특정 단어 들어가면 튕겨버립니다..
그러니까 코멘트로 남기길래 코멘트에도 추가하니 조용하네요 :)

@닥본사 회원가입시 이메인 사용으로 체크 하니 일단 조용하네요.
아마도 자동으로 글쓰는 로봇은 아닌것 같고 회원가입후 직접 작성하는것 같습니다.
회원삭제와 모든 게시글 및 댓글 삭제 한방에 해결하니 시원 하네요....^^
아마도 자동으로 글쓰는 로봇은 아닌것 같고 회원가입후 직접 작성하는것 같습니다.
회원삭제와 모든 게시글 및 댓글 삭제 한방에 해결하니 시원 하네요....^^

다들 이렇게 연구해주셔서 감사드립니다! 저도 여유가 되면 동참할텐데... ㅜㅜ;

@xpem 여유 되실때 같이 뭐라도 만들어 보아요....^^