테스트 사이트 - 개발 중인 베타 버전입니다

링크에도 금지단어 적용시키는 방법 채택완료

KillTraffic 5년 전 조회 3,966

게시판 스킨 write.skin.php 파일 하단 부분을 아래와 같이 적용했는데

 

여전히 링크에는 금지단어 적용이 안되네요 ㅠㅠ

 

 

$.ajax({
            url: g5_bbs_url+"/ajax.filter.php",
            type: "POST",
            data: {
                "subject": f.wr_subject.value,
                "content": f.wr_content.value,
                "link": f.wr_link.value
            },
            dataType: "json",
            async: false,
            cache: false,
            success: function(data, textStatus) {
                subject = data.subject;
                content = data.content;
                link = data.link;
            }
        });

 

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

        if (content) {
            alert("내용에 금지단어가 포함되어있습니다.");
            if (typeof(ed_wr_content) != "undefined")
                ed_wr_content.returnFalse();
            else
                f.wr_content.focus();
            return false;
        }

        if (link) {
            alert("링크에 금지단어가 포함되어있습니다.");
            f.wr_link.focus();
            return false;
        }

 

 

진하게 처리한 부분이 제가 추가한 코드인데 혹시 제가 잘못한건가요?

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

답변 3개

채택된 답변
+20 포인트

write.skin.php

.

.

.

 

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

 

 

 

bbs/ajax.filter.php

 

.

.

.

$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\"}");

 

이런식으로 하면 되지 않을까요.. 테스트는 안해 봤습니다

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

K
KillTraffic
5년 전
테스트 해봤는데 역시나 작동이 안되네요.. 아무튼 고생해주셔서 감사드립니다

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

5년 전

클라이언트 쪽에서 link값을 서버의 ajax.filter.php에 던져 주면

그 파일에서 처리후 다시 클라이언트로 던져 주는 것에 

link라는 요소가 있어야 하는데 서버쪽 ajax.filter.php 파일에서 처리를 하셨나요?

그래서 json내에 link라는 요소가 있어야 이쪽에서 처리가 가능할텐데 그렇지 못한 듯 보이는데요.

로그인 후 평가할 수 있습니다

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

그누 링크 인풋 네임값이 wr_link1 wr_link2 이렇게 나가지 않나요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

K
KillTraffic
5년 전
아 그러면 위의 link 부분을 link1, link2 이렇게 두개로 나눠서 해봐야겠습니다
K
KillTraffic
5년 전
그래도 안먹히네요 ㅠㅠ

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

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

로그인