금지 단어 필터링이 게시판에서 전혀 인식을 못합니다 ㅜ.ㅜ > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

금지 단어 필터링이 게시판에서 전혀 인식을 못합니다 ㅜ.ㅜ 정보

금지 단어 필터링이 게시판에서 전혀 인식을 못합니다 ㅜ.ㅜ

본문

금지 단어 필터링 을 해야 하는데 게시판에서 전혀 인식을 못합니다...
금지 단어를 써도 글이 써집니다 ㅜ.ㅜ
 
 
write.skin.php 이 소스좀 봐주세요 뭐가 잘못 되었는지 ㅜ.ㅜ
 
 
 
 
 
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$g4[path]/lib/cheditor.lib.php");
//if ($w != 'u') $content = '';
?>
<link rel='stylesheet' type='text/css' href='<?=$board_skin_path?>/style.css'>
<style type="text/css">
<!--
.w_title    { font-family:돋움; font-size:9pt; color:#9A9A9A; }
.w_padding  { PADDING-LEFT: 15px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; }
.w_padding2 { PADDING-LEFT: 15px; PADDING-TOP: 5px; }
.w_text     { BORDER: #D3D3D3 1px solid; HEIGHT: 18px; BACKGROUND-COLOR: #ffffff; }
.w_textarea { BORDER: #D3D3D3 1px solid; BACKGROUND-COLOR: #ffffff; WIDTH: 100%; WORD-BREAK: break-all; }
.w_message  { font-family:돋움; font-size:9pt; color:#4B4B4B; }
.w_norobot  { font-family:돋움; font-size:9pt; color:#BB4681; }
.w_hand     { cursor:pointer; }
-->
</style>
<script src="<?=$g4[editor_path]?>/cheditor.js"></script>
<?=cheditor1('wr_content', $content);?>
<script language="JavaScript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>
<!-- 김선용 2005.4 - FF(불여우) 에서는 innerHTML 사용시 폼이 <table> 아래에 있으면 인식하지 못합니다. -->
<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" autocomplete="off">
 
 
<table align=center width=<?=$width?> border="0" cellspacing="0" cellpadding="0">
<tr><td width="100%" height="1" bgcolor=F0F0F0></td></tr>
</table>
<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td align=center>
<table height=40 width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td width="86%" align="left" valign="middle" bgcolor="FAFAFA" class=w_padding><font style="font-family:돋움; font-size:9pt; color:888888"><strong>    <?=$title_msg?> </strong></span></td>
</tr>
</table>
</td></tr></table>
 
 
 
 
 
<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td align=center>
 
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<input type=hidden name=w        value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id    value="<?=$wr_id?>">
<input type=hidden name=sfl      value="<?=$sfl?>">
<input type=hidden name=stx      value="<?=$stx?>">
<input type=hidden name=spt      value="<?=$spt?>">
<input type=hidden name=sst      value="<?=$sst?>">
<input type=hidden name=sod      value="<?=$sod?>">
<input type=hidden name=page     value="<?=$page?>">
<input type=hidden name=html  value='html1'>

<? if ($is_name) { ?>
<tr>
    <td width="15%" height="30" align="center"><span class=w_title>이름</span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding><INPUT class=w_text maxLength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>"></TD>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? } ?>

<? if ($is_password) { ?>
<tr>
    <td width="15%" height="30" align="center"><span class=w_title>패스워드</span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding><INPUT class=w_text type=password maxLength=20 size=15 name=wr_password itemname="패스워드" <?=$password_required?>></TD>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? } ?>

<? if ($is_email) { ?>
<tr>
    <td width="15%" height="30" align="center"><span class=w_title>이메일</span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding><INPUT class=w_text maxLength=100 size=50 name=wr_email email itemname="이메일" value="<?=$email?>"></TD>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? } ?>

<? if ($is_homepage) { ?>
<tr>
    <td width="15%" height="30" align="center"><span class=w_title>홈페이지</span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding><INPUT class=w_text size=50 name=wr_homepage itemname="홈페이지" value="<?=$homepage?>"></TD>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? } ?>

<tr>
    <td width="15%" height="30" align="center"><span class=w_title>옵션</span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding>
        <? if ($is_notice) { ?><input type=checkbox name=notice value="1" <?=$notice_checked?>><span class=w_title>공지</span> <? } ?>
       
        <? if ($is_secret) { ?><INPUT type=checkbox value="secret" name="secret" <?=$secret_checked?>><span class=w_title>비밀글</span> <? } ?>
        <INPUT type=checkbox value="mail" name="mail" <?=$recv_email_checked?>><span class=w_title>답변메일받기</span> </TD>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? if ($is_category) { ?>
<tr>
    <td width="15%" align="center"><span class=w_title>분류</span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding>
        <select name=ca_name required itemname="분류"><option value="">선택하세요<?=$category_option?></select></TD>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? } ?>

<tr>
    <td width="15%" height="30" align="center"><span class=w_title>제목</span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding><INPUT class=w_text style="width:100%;" name=wr_subject itemname="제목" required value="<?=$subject?>"></TD>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<tr>
    <td width="15%" align="center"><span class=w_title>내용</span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td class=w_padding><?=cheditor2('fwrite', 'wr_content', '100%', '350');?>
    </TD>
</tr>
  <tr>
    <td height="0" colSpan=3 align=middle><textarea name="wr_2" cols="0" rows="1" itemname="설문내용" value="<?=$write[wr_2]?>" style="visibility:hidden;">
유쾌!상쾌!통쾌!
따뜻한 세상
유익해요
황당초난감
슬픈사연
분통터진다</textarea></td>
  </tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>

<? if ($is_link) { ?>
<? for ($i=1; $i<=$g4[link_count]; $i++) { ?>
<tr>
    <td width="15%" height="30" align="center"><span class=w_title>링크 #<?=$i?></span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding><INPUT type='text' class=w_text size=50 name='wr_link<?=$i?>' itemname='링크 #<?=$i?>' value='<?=$write["wr_link{$i}"]?>'></td>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? } ?>
<? } ?>

<? if ($is_file) { ?>
<tr>
    <td width="15%" height="30" align="center" valign="top"><table cellpadding=0 cellspacing=0><tr><td style=" PADDING-TOP: 10px;"><span class=w_title>파일 <span onclick="add_file();" class=w_hand>+</span> <span onclick="del_file();" class=w_hand>-</span></span></td></tr></table></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding><table id="variableFiles" cellpadding=0 cellspacing=0></table><?// print_r2($file); ?>
        <script language="JavaScript">
        function add_file(delete_code)
        {
            var objTbl;
            var objRow;
            var objCell;
            if (document.getElementById)
                objTbl = document.getElementById("variableFiles");
            else
                objTbl = document.all["variableFiles"];
            objRow = objTbl.insertRow(objTbl.rows.length);
            objCell = objRow.insertCell(0);
            objCell.innerHTML = "<input type='file' class=w_text size=32 name='bf_file[]' title='파일 용량 <?=$upload_max_filesize?> 이하만 업로드 가능'>";
            if (delete_code)
                objCell.innerHTML += delete_code;
            else
            {
                <? if ($is_file_content) { ?>
                objCell.innerHTML += "<br><input type='text' class=w_text size=50 name='bf_content[]' title='업로드 이미지 파일에 해당 되는 내용을 입력하세요.'>";
                <? } ?>
                ;
            }
        }
        <?=$file_script; //수정시에 필요한 스크립트?>
        function del_file()
        {
            // file_length 이하로는 필드가 삭제되지 않아야 합니다.
            var file_length = <?=(int)$file_length?>;
            var objTbl = document.getElementById("variableFiles");
            if (objTbl.rows.length - 1 > file_length)
                objTbl.deleteRow(objTbl.rows.length - 1);
        }
        </script>
    </td>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? } ?>

<? if ($is_trackback) { ?>
<tr>
    <td width="15%" height="30" align="center"><span class=w_title>트랙백주소</span></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding><INPUT class=w_text size=50 name=wr_trackback itemname="트랙백" value="<?=$trackback?>">
        <? if ($w=="u") { ?><input type=checkbox name="re_trackback" value="1"><span class=w_message>핑 보냄</span><? } ?></TD>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? } ?>
   
<? if ($is_norobot) { ?>
<tr>
    <td width="15%" height="30" align="center"><?=$norobot_str?></td>
    <td width="1" valign="bottom"><img src="<?=$board_skin_path?>/img/gray_line.gif" width="1" height="10"></td>
    <td width="84%" class=w_padding><INPUT class=w_text type=input size=10 name=wr_key itemname="자동등록방지" required>  <font class="mystyle">* 왼쪽의 글자중 <FONT COLOR="red">빨간글자만</FONT> 순서대로 입력하세요.</FONT></TD>
</tr>
<tr>
    <td height="1" background="<?=$board_skin_path?>/img/dot_bg.gif" colSpan=10 align=middle></td>
</tr>
<? } ?>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" height="5" ></td>
</tr>
<tr>
    <td width="100%" align="center" valign="top">
        <INPUT type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write.gif" border=0 accesskey='s'>    
        <a href="./board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
</table>
</td></tr></table>
</form>
 
<script language="javascript">
<?
// 관리자라면 분류 선택에 '공지' 옵션을 추가함
if ($is_admin)
{
    echo "
    if (typeof(document.fwrite.ca_name) != 'undefined')
    {
        document.fwrite.ca_name.options.length += 1;
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].value = '공지';
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].text = '공지';
    }";
}
?>
with (document.fwrite)
{
    if (typeof(wr_name) != "undefined")
        wr_name.focus();
    else if (typeof(wr_subject) != "undefined")
        wr_subject.focus();
    else if (typeof(wr_content) != "undefined")
        wr_content.focus();
    if (typeof(ca_name) != "undefined")
        if (w.value == "u")
            ca_name.value = "<?=$write[ca_name]?>";
}
function html_auto_br(obj)
{
    if (obj.checked)
    {
        result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
        if (result)
            obj.value = "html2";
        else
            obj.value = "html1";
    }
    else
        obj.value = "";
}
function fwrite_check(f)
{
    var s = "";
    if (s = word_filter_check(f.wr_subject.value))
    {
        alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }
    /*
 
 if (s = word_filter_check(f.wr_content.value))
    {
        alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }
    if (char_min > 0 || char_max > 0)
    {
        var cnt = parseInt(document.getElementById('char_count').innerHTML);
        if (char_min > 0 && char_min > cnt)
        {
            alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
            return;
        }
        else if (char_max > 0 && char_max < cnt)
        {
            alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
            return;
        }
    }
 
 */
    if (typeof(f.wr_key) != "undefined")
    {
        if (hex_md5(f.wr_key.value) != md5_norobot_key)
        {
            alert("자동등록방지용 빨간글자가 순서대로 입력되지 않았습니다.");
            f.wr_key.focus();
            return;
        }
    }
    document.getElementById('btn_submit').disabled = true;
    document.getElementById('btn_list').disabled = true;
    <?=cheditor3('wr_content');?>
if (document.selection)
{
    if (confirm("작성하신 내용을 클립보드에 복사 하시겠습니까?\n\n다시 작성시 입력창에 붙여넣기(Ctrl + V) 하실수 있습니다."))
    {
        var str = document.getElementById('wr_content').value;
        bResult = window.clipboardData.setData("Text",str);
     } 
}
 
 f.action = "./write_update.php";
    f.submit();
}
</script>
  • 복사

댓글 전체

스크립트에서 필터링 부분이 주석 처리가 되어 있네요.ㅎㅎ

아래의 스크립트에서 주석처리된 곳을 풀어 주세요.


/*
 
 if (s = word_filter_check(f.wr_content.value))
    {
        alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
        return;
    }
    if (char_min > 0 || char_max > 0)
    {
        var cnt = parseInt(document.getElementById('char_count').innerHTML);
        if (char_min > 0 && char_min > cnt)
        {
            alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
            return;
        }
        else if (char_max > 0 && char_max < cnt)
        {
            alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
            return;
        }
    }
 
 */
© SIRSOFT
현재 페이지 제일 처음으로