본문에 동영상 iframe 사용하기 (2014-12-24 수정) > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

본문에 동영상 iframe 사용하기 (2014-12-24 수정) 정보

본문에 동영상 iframe 사용하기 (2014-12-24 수정)

본문

2014-12-24 추가
관리자일때는 object 와 embed가 필터링 되는 것도 아래 동영상 주소에서 송출되는 것은 가능하도록 추가했습니다.
- 유튜브 :  youtu.be  /  youtube.com
- Vimeo :  vimeo.com
- 네이버 :  nmv.naver.com  /  MovieFlvPlayer.nhn
- 다음  :  videofarm.daum.net


그누보드 / lib / common.lib.php 

// 악성태그 변환
function bad_tag_convert($code)
{
    ...
}


를 아래와 같이 변경


// 악성태그 변환
function bad_tag_convert($code)
{
    global $view;
    global $member, $is_admin;

    if ($is_admin && $member[mb_id] != $view[mb_id]) {
        //$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>(\<\/(embed|object)\>)?#i",
        // embed 또는 object 태그를 막지 않는 경우 필터링이 되도록 수정
        if (!preg_match('/youtu.be/', $_SERVER['SERVER_NAME']) == true || !preg_match('/youtube.com/', $_SERVER['SERVER_NAME']) == true || !preg_match('/vimeo.com/', $_SERVER['SERVER_NAME']) == true || !preg_match('/videofarm.daum.net/', $_SERVER['SERVER_NAME']) == true || !preg_match('/rmcnmv.naver.com/', $_SERVER['SERVER_NAME']) == true || !preg_match('/nmv.naver.com/', $_SERVER['SERVER_NAME']) == true || !preg_match('/MovieFlvPlayer.nhn/', $_SERVER['SERVER_NAME']) == true) { } else { $code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>?(\<\/(embed|object)\>)?#i",
                    create_function('$matches', 'return "<div class=\"embedx\">보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.</div>";'),
                    $code); } // 해피정닷컴 2014-12-24
    }

    //return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "&lt;$1$2$3&gt;", $code);
    // script 나 iframe 태그를 막지 않는 경우 필터링이 되도록 수정
    if (!preg_match('/youtu.be/', $_SERVER['SERVER_NAME']) == true || !preg_match('/youtube.com/', $_SERVER['SERVER_NAME']) == true || !preg_match('/vimeo.com/', $_SERVER['SERVER_NAME']) == true || !preg_match('/videofarm.daum.net/', $_SERVER['SERVER_NAME']) == true || !preg_match('/rmcnmv.naver.com/', $_SERVER['SERVER_NAME']) == true || !preg_match('/nmv.naver.com/', $_SERVER['SERVER_NAME']) == true || !preg_match('/MovieFlvPlayer.nhn/', $_SERVER['SERVER_NAME']) == true) { return preg_replace("/\<([\/]?)(script)([^\>]*)\>?/i", "&lt;$1$2$3&gt;", $code); } else { return preg_replace("/\<([\/]?)(script|iframe|form|applet)([^\>]*)\>?/i", "&lt;$1$2$3&gt;", $code); } // 해피정닷컴 2014-12-24
}
추천
0

댓글 15개

갑작스럽게 iframe 을 사용해야할 필요가 있는데, 팁을 찾아보니 관리자만 가능하게 된것이 아니라서, 정리해봤습니다.
관리자는 등록은 가능한데. 등록 후 일반 사용자에게는 태그로 보이게 되네요..
관리자 등록, 사용자 는 내용을 보기만 가능할 방법이 없을까요??
본문에 iframe 사용시 테그로 전환되는 문제가 있어서,  유튜브 동영상 삽입할때만 iframe 사용가능한 내용으로 팁을 변경했습니다.
그렇군요. 마지막에 } 가 누락되었습니다.
링크의 강좌에는 } 가 포함되어 있는데
복사해서 이곳에 넣는 과정에서 누락되었나봅니다.

수정했습니다.
그누보드 4.34.20 (2012.03.02) 버전을 사용하고 있는데, 알려주신 대로 common.lib.php 파일을 고치니까 에라가 나고, 게시판 자체를 쓸 수가 없네요. 혹시 정상적인 파일을 구할 수는 없을까요?
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT