묻고답하기

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

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

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

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

 

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 남기남
상해파 한글로 변환을 어떻게 해야 하나요? [3] file 2017.06.15 by 상해파
박하향풍선껌 모바일 게시판 확장변수 입력값이 없으면 나타나지 않게 하는 방법 궁금합니다.  
BJ람보 자바스크립트 클로저안에 있는 데이터를 가져오기.  
cozy 관리자로긴이 갑자기 안되어 아무것도 할수없어요 [3] 2017.06.16 by cozy
죠이♡ 회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요? [1] 2017.06.15 by 블루카이
넷모아 한서버에 제로보드 xe 를 2개 설치하는방법좀 알려주세요 ^^; [1] 2017.06.15 by ruzischild
비터스윗 쇼핑몰 모바일버전, 홈페이지 리뉴얼 해주실분 [1] 2017.06.15 by ruzischild
thdwjdtjr 첨부파일 하루 다운횟수 제한하는 방법 [1] 2017.06.15 by sejin7940
시미 모바일 스킨 적용이 정말정말 안되네요.. [3] file 2017.06.15 by 시미
그때그사람 로고인시 url에러 문제 [2] 2017.06.15 by 그때그사람
상해파 한글 변환 [2] 2017.06.15 by 상해파
스무스 원페이지에서 #name 으로 이동하는법 문의드립니다 [1] 2017.06.14 by HowtoXE
머드 프레임셋 index.html 설정시 오류 [1] 2017.06.14 by SimpleCode
뻬빠 XE 설치 에러 문의 [2] 2017.06.14 by 뻬빠
칭런 디비 복구 가능할까요? [1] 2017.06.14 by 불금
주피터bff66 '로그인 유지' 기능의 문제점... [2] 2017.06.14 by 주피터bff66
집주인 메인위젯이 게시판마다 다 뜨네요.. 어떻게 하나요? [1] 2017.06.14 by ruzischild
홍길동2000 회원 가입이 안 되고 있어요 [1] 2017.06.14 by 홍길동2000
SuwonSuperStar XE기반 홈페이지를 모바일에서 접속시 다른 URL로 연결하기 [4] 2017.06.13 by SuwonSuperStar
비세 글을 드래그 복사 붙여넣기하면 흰 여백이 회색이 됩니다