묻고답하기

소스에 아무 손도 안댔는데 갑자기 에러 나는 이유가 있을까요?

아니면 어떤 게시물이 등록되면서 싱텍스 에러가 날수도 있나요?

아래 소스중에 빨간 부분 에러가 나서 주석처리 하니

사이트가 뜨긴 뜨는데 무슨 문제일까요ㅠㅠ

 

function removeSrcHack($match)
{
    $tag = strtolower($match[2]);

    // xmp tag ?뺣━
    if($tag == 'xmp')
    {
        return "<{$match[1]}xmp>";
    }
    if($match[1])
    {
        return $match[0];
    }
    if($match[4])
    {
        $match[4] = ' ' . $match[4];
    }

    $attrs = array();
    if(preg_match_all('/([\w:-]+)\s*=(?:\s*(["\']))?(?(2)(.*?)\2|([^ ]+))/s', $match[3], $m))
    {
        foreach($m[1] as $idx => $name)
        {
            if(strlen($name) >= 2 && substr_compare($name, 'on', 0, 2) === 0)
            {
                continue;
            }

            $val = preg_replace_callback('/&#(?:x([a-fA-F0-9]+)|0*(\d+));/', function($n) {return chr($n[1] ? ('0x00' . $n[1]) : ($n[2] + 0)); }, $m[3][$idx] . $m[4][$idx]);      : 이 부분 싱텍스에러
            $val = preg_replace('/^\s+|[\t\n\r]+/', '', $val);

            if(preg_match('/^[a-z]+script:/i', $val))
            {
                continue;
            }

            $attrs[$name] = $val;
        }
    }

    $filter_arrts = array('style', 'src', 'href');

    if($tag === 'object') array_push($filter_arrts, 'data');
    if($tag === 'param') array_push($filter_arrts, 'value');

    foreach($filter_arrts as $attr)
    {
        if(!isset($attrs[$attr])) continue;

        $attr_value = rawurldecode($attrs[$attr]);
        $attr_value = htmlspecialchars_decode($attr_value, ENT_COMPAT);
        $attr_value = preg_replace('/\s+|[\t\n\r]+/', '', $attr_value);
        if(preg_match('@(\?|&|;)(act=(\w+))@i', $attr_value, $m) && $m[3] !== 'procFileDownload')
        {
            unset($attrs[$attr]);
        }
    }

    if(isset($attrs['style']) && preg_match('@(?:/\*|\*/|\n|:\s*expression\s*\()@i', $attrs['style']))
    {
        unset($attrs['style']);
    }

    $attr = array();
    foreach($attrs as $name => $val)
    {
        if($tag == 'object' || $tag == 'embed' || $tag == 'a')
        {
            $attribute = strtolower(trim($name));
            if($attribute == 'data' || $attribute == 'src' || $attribute == 'href')
            {
                if(stripos($val, 'data:') === 0)
                {
                    continue;
                }
            }
        }

        if($tag == 'img')
        {
            $attribute = strtolower(trim($name));
            if(stripos($val, 'data:') === 0)
            {
                continue;
            }
        }
        $val = str_replace('"', '"', $val);
        $attr[] = $name . "=\"{$val}\"";
    }
    $attr = count($attr) ? ' ' . implode(' ', $attr) : '';

    return "<{$match[1]}{$tag}{$attr}{$match[4]}>";
}

 

조언 부탁드립니다~

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
씨리우스 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
이태희 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
인어 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
이기운 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
유상원 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
Yena㈜ 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
이혜진 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
김은별 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
앙마뉨a 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
최은영 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
김종윤 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
내안의휴식 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10
hosea 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [6] 2007.08.10
스스로 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
조민아 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
연태식 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
박주미 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [4] 2007.08.10
강명선 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
한관옥 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
김상동 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
조성현 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
채진 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10
hosea 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
함길수 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
윤희균 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
민영삼 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
앤디 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
조우니 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
앙마뉨a 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10
알라신 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?