채택완료

이거 왜 작동을 안하는걸까요? ㅠㅠ

2020-02-03 (월) 11:46:57 9,432

금지어 차단을 링크에도 적용하려고 하고싶어서 아래와 같이 write.skin.php 파일과 ajax.filter.php 파일을 수정했는데 작동을 안합니다 ㅠㅠ

제가 보기엔 문제가 없는것 같은데 고수분들의 도움 부탁드립니다..

Copy
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;
            }
        });

        if (subject) {
            alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
            f.wr_subject.focus();
            return false;
        }

        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;
        }
Copy
$subject = strip_tags($_POST['subject']); 
$content = strip_tags($_POST['content']);
$wr_link1 = strip_tags($_POST['link1']);

//$filter = explode(",", strtolower(trim($config['cf_filter'])));
// strtolower 에 의한 한글 변형으로 아래 코드로 대체 (곱슬최씨님이 알려 주셨습니다.)
$filter = explode(",", trim($config['cf_filter']));
for ($i=0; $i<count($filter); $i++) {
    $str = $filter[$i];

    // 제목 필터링 (찾으면 중지)
    $subj = "";
    $pos = stripos($subject, $str);
    if ($pos !== false) {
        $subj = $str;
        break;
    }

    // 내용 필터링 (찾으면 중지)
    $cont = "";
    $pos = stripos($content, $str);
    if ($pos !== false) {
        $cont = $str;
        break;
    }
    
     // 링크 필터링 (찾으면 중지)
    $link1 = "";
    $pos = stripos($wr_link1, $str);
    if ($pos !== false) {
        $link1 = $str;
        break;
    }
}

die("{\"subject\":\"$subj\",\"content\":\"$cont\"\"wr_link1\":\"$link1\"}");
|

답변 2개

채택된 답변
+20 포인트
2020-02-03 (월) 12:05:01

다른거 소스는 자세히 안봐서 모르겠고 마지막부분만 봤을때.

die("{\"subject\":\"$subj\",\"content\":\"$cont\"\"wr_link1\":\"$link1\"}");

여기 중간 콤마 빠졌는데요    컨텐츠 , 링크

해당 소스만 봐서는 정확한건 확인이 안되고요 일단 포인트적립님이 말씀하신 부분을 확인해 보시고 안되신다면 반영한 부분의 오류나 스크립트 부분을 체크해 보셔야 할듯 합니다.

답변을 작성하려면 로그인이 필요합니다.