묻고답하기

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

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

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

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

 

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
name.P 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
구자형 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
서지호 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10
임동민 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
주상현 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [4] 2007.08.10
hansol 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [6] 2007.08.10
김영민 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [9] 2007.08.10
anilbu 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [4] 2007.08.10
방효준 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10
하얀천사 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [9] 2007.08.10
조영민 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [4] 2007.08.10
우현아 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
박경찬 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
정종표 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
김은별 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
유새랑 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
김경아 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10
한아름 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10
이근배 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
1111 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
이엔나 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [5] 2007.08.10
왕민지 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
INDIGO 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
김미성 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10
허정 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?  
원기환 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
산사랑 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [2] 2007.08.10
배트 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2007.08.10
lks 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [3] 2007.08.10