이거 왜 작동을 안하는걸까요? ㅠㅠ 채택완료
KillTraffic
5년 전
조회 9,237
금지어 차단을 링크에도 적용하려고 하고싶어서 아래와 같이 write.skin.php 파일과 ajax.filter.php 파일을 수정했는데 작동을 안합니다 ㅠㅠ
제가 보기엔 문제가 없는것 같은데 고수분들의 도움 부탁드립니다..
</p>
<p>var subject = "";
var content = "";
var link1 = "";
$.ajax({
url: g5_bbs_url+"/ajax.filter.php",
type: "POST",
data: {
"subject": f.wr_subject.value,
"content": f.wr_content.value,
"link1": f.wr_link1.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
link1 = data.wr_link1;
}
});</p>
<p> if (subject) {
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
f.wr_subject.focus();
return false;
}</p>
<p> if (content) {
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
if (typeof(ed_wr_content) != "undefined")
ed_wr_content.returnFalse();
else
f.wr_content.focus();
return false;
}
if (link1) {
alert("링크에 금지단어('"+link1+"')가 포함되어있습니다");
f.wr_link1.focus();
return false;
}</p>
<p>
</p>
<p>$subject = strip_tags($_POST['subject']);
$content = strip_tags($_POST['content']);
$wr_link1 = strip_tags($_POST['link1']);</p>
<p>//$filter = explode(",", strtolower(trim($config['cf_filter'])));
// strtolower 에 의한 한글 변형으로 아래 코드로 대체 (곱슬최씨님이 알려 주셨습니다.)
$filter = explode(",", trim($config['cf_filter']));
for ($i=0; $i<count($filter); $i++) {
$str = $filter[$i];</p>
<p> // 제목 필터링 (찾으면 중지)
$subj = "";
$pos = stripos($subject, $str);
if ($pos !== false) {
$subj = $str;
break;
}</p>
<p> // 내용 필터링 (찾으면 중지)
$cont = "";
$pos = stripos($content, $str);
if ($pos !== false) {
$cont = $str;
break;
}
// 링크 필터링 (찾으면 중지)
$link1 = "";
$pos = stripos($wr_link1, $str);
if ($pos !== false) {
$link1 = $str;
break;
}
}</p>
<p>die("{\"subject\":\"$subj\",\"content\":\"$cont\"\"wr_link1\":\"$link1\"}");</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
5년 전
다른거 소스는 자세히 안봐서 모르겠고 마지막부분만 봤을때.
die("{\"subject\":\"$subj\",\"content\":\"$cont\"\"wr_link1\":\"$link1\"}");
여기 중간 콤마 빠졌는데요 컨텐츠 , 링크
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인