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

비회원 글 등록시 이름 실종 채택완료

jacobblack 1년 전 조회 2,007

</p>

<p>$wr_name = trim($_POST['wr_name']); <-- 이건 출력이 되는데....</p>

<p>$wr_name = clean_xss_tags(trim($_POST['wr_name']));   <--- 이 상태에서는 이름이 사라져요. </p>

<p> </p>

<p> </p>

<p>function clean_xss_tags($str, $check_entities=0, $is_remove_tags=0, $cur_str_len=0)

{

    // space, tab('\t'), formfeed('\f'), vertical tab('\v'), newline('\n'), carriage return('\r') 를 제거한다.

    // $str = preg_replace('#[[:space:]]#', '', $str);

    // tab('\t'), formfeed('\f'), vertical tab('\v'), newline('\n'), carriage return('\r') 를 제거한다.

    $str = preg_replace('#[\t\f\v\n\r]#', '', $str);</p>

<p>    if( $is_remove_tags ){

        $str = strip_tags($str);

    }</p>

<p>    if( $cur_str_len ){

        $str = utf8_strcut($str, $cur_str_len, '');

    }</p>

<p>    $str_len = strlen($str);

    

    $i = 0;

    while($i <= $str_len){

        $result = preg_replace('#</*(?:applet|b(?:ase|gsound|link)|embed|frame(?:set)?|i(?:frame|layer)|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|title|xml)[^>]*+>#i', '', $str);

        

        if( $check_entities ){

            $result = str_replace(array('&colon;', '&lpar;', '&rpar;', '&NewLine;', '&Tab;'), '', $result);

        }

        

        $result = preg_replace('#([^\p{L}]|^)(?:javascript|jar|applescript|vbscript|vbs|wscript|jscript|behavior|mocha|livescript|view-source)\s*:(?:.*?([/\\\;()\'">]|$))#ius',

                '$1$2', $result);</p>

<p>        if((string)$result === (string)$str) break;</p>

<p>        $str = $result;

        $i++;

    }</p>

<p>    return $str;

}</p>

<p>

어떤 부분이 문제가 되는건가요?

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

답변 2개

1년 전

사라지는 이름이 어떻게 되는건가요? 해당을 했을때 사라진다면 해당에 걸리는 이름일텐데요

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

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

R
1년 전

? 비회원 입력이 정상기록인가요?
아니라면 그냥 두시는것이..... 좋을듯 합니다만...

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

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

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

로그인