스팸 필터를 우회하여 등록하는 광고성 게시글 차단 정보
스팸 필터를 우회하여 등록하는 광고성 게시글 차단본문
예전에 HTML체크를 우회하는 등록글에 대하여 처리하는 내용을 올렸었는데요, 이번에는
환경설정의 스팸필터도 우회하는 글들이 등록되어 추가적인 수정을 하였습니다.
문제는 글등록시 스킨의 write.php에서만 ajax로 필터검사를 하는것이 문제인데
이것을 우회하여 등록하네요. 토큰이 있어 프로그램으로 등록하는건 아닌것 같구요.
서버단에서 필터검사를 다시하고 html에디터 사용안하는 경우는
html이 들어오면 차단해 버리도록 하였습니다.
스팸을 등록해보는 테스트는 못해봤는데.. 문제가 있으면 댓글 달아주시면 수정하도록 할게요.
아래의 내용을 /bbs/write_update.php 페이지 최상단의 토큰체크 이후 부분에 추가합니다.
/* 필터링 : 서버단에서 처리 */
if(!$is_admin) {
//: html이 허용하지 않았는데 html이 입력되면
if(!$board['bo_use_dhtml_editor']) {
if($_POST['wr_content'] !== strip_tags($_POST['wr_content'])) {
alert('제목이나 내용에 금지단어가 포함되어 있습니다.');
}
}
//: 필터 다시 검사
$filter = explode(",", trim($config['cf_filter']));
for ($i=0; $i<count($filter); $i++) {
$str = $filter[$i];
// 제목 필터링 (찾으면 중지)
$subj = "";
$pos = stripos($_POST['wr_subject'], $str);
if ($pos !== false) {
$subj = $str;
break;
}
// 내용 필터링 (찾으면 중지)
$cont = "";
$pos = stripos($_POST['wr_content'], $str);
if ($pos !== false) {
$cont = $str;
break;
}
}
if($subj || $cont) {
alert('제목이나 내용에 금지단어가 포함되어 있습니다.');
}
}
/*--------------------------*/
5