묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
스팸등록단어 포함 게시물 작성시도시 자동 ip차단
2012.06.18 15:30
http://www.xpressengine.com/qna/20886781
위 질문에 추가질문입니다
답변받은방법 대로 하면
스팸단어로 등록해놓은 단어를포함하여 게시물작성시도할경우 자동으로 차단되는걸로 알고있는데요,
/xe/index.php?module=admin&act=dispSpamfilterAdminDeniedWordList 에서 등록해놓은 단어로 작성시도를할때는
그냥 금지단어라서 작성이 불가능하다는 메세지가 나오도록 그대로 두고,
작성시도할경우 ip가 차단될 단어 목록만 따로 설정할수는없을까요?
core 1.4.5.10 쓰고있습니다
xe - modules - spamfilter - spamfilter.model.php 열고
line 84 쯤에
return new Object(-1,sprintf(Context::getLang('msg_alert_denied_word'), $word));
}
}
$banwords = array('abc','def','등신');
for($i=0 ; $i<count($banwords) ; $i++)
{
$word = $banwords[$i];
if(preg_match('/'.preg_quote($word,'/').'/is', $text))
{
$args->ipaddress = $_SERVER['REMOTE_ADDR'];
executeQuery('spamfilter.insertDeniedIP', $args);
return new Object(-1,sprintf(Context::getLang('msg_alert_denied_word')."\r\n".Context::getLang('msg_alert_registered_denied_ip'), $word));
}
}
return new Object();
}
여기서 붉은 색이 추가된 내용
파란 글씨는 스팸단어 사용으로 ip를 차단하고자 할 때, 단어들을 배열로 넣으면 됩니다.