묻고답하기

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

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

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

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

 

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 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
패러디 제왕 ^^ 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
nysanyx 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
Bird 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
난한벼리™ 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
김선호 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
임희주 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
김주현 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
또미 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
hosea 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
팔경호 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
동화 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [4] 2007.08.10
진상수 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
박정기 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
Doraibar 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10
KKI+ 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
김태윤 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
김보형 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
비밀맨 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
손상진 회원가입시나 수정시 닉네임/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 은 중복체크를 하자나요 . 이름도 가능할까요?  
앤디 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
민영삼 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
윤희균 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
함길수 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
hosea 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
채진 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10