그누보드 [G5] 본문에 동영상 iframe , embed, object 사용하기
페이지 정보
본문
2014-12-24 추가
관리자일때는 object 와 embed가 필터링 되는 것도 아래 동영상 주소에서 송출되는 것은 가능하도록 추가했습니다.
- 유튜브 : youtu.be / youtube.com
- Vimeo : vimeo.com
- 네이버 : nmv.naver.com / MovieFlvPlayer.nhn
- 다음 : videofarm.daum.net
그누보드5 / lib / common.lib.php 1912 ~ 1920 라인의
if ($is_admin && $member['mb_id'] != $view['mb_id']) {
//$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>(\<\/(embed|object)\>)?#i",
// embed 또는 object 태그를 막지 않는 경우 필터링이 되도록 수정
$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>?(\<\/(embed|object)\>)?#i",
create_function('$matches', 'return "<div class=\"embedx\">보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.</div>";'),
$code);
}
return preg_replace("/\<([\/]?)(script|iframe|form)([^\>]*)\>?/i", "<$1$2$3>", $code);
를 아래와 같이 변경
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", "<$1$2$3>", $code);
} else {
return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>?/i", "<$1$2$3>", $code);
} // 해피정닷컴 2014-12-24
2016-11-24 추가
그누보드5 / plugin / htmlpurifier / safeiframe.txt 에 허용할 도메인을 추가하면 iframe 동영상이 작동되도록 기능이 추가되었습니다.
2017-05-22 도메인 추가 업데이트
그누보드4 에서는 function bad_tag_convert($code) 를 이용해서 iframe 을 제어했으나,
G5 에서는 그누보드5/plugin/htmlpurifier/safeiframe.txt 에서 제어합니다.
# iframe 허용 도메인을 한줄에 하나씩만 적으세요.
# 도메인 뒤에 가급적 / 를 붙여주세요.
www.youtube(?:-nocookie)?.com/
serviceapi.rmcnmv.naver.com/
videofarm.daum.net/
player.vimeo.com/
www.google.com/
maps.google.com/
play.afreeca.com/
v.nate.com/
www.microsoft.com/showcase/video.aspx/
w.soundcloud.com/
www.facebook.com/
kakaotv.daum.net/
v.afree.ca/
play-tv.kakao.com/
# 해피정닷컴에서 추가한 동영상허용 링크 시작
time.graphics/
www.time.graphics/
www.liveleak.com/
www.mgoon.com/
- 유튜브 : youtu.be / youtube.com
- Vimeo : vimeo.com
- 네이버 : nmv.naver.com / MovieFlvPlayer.nhn
- 다음 : videofarm.daum.net
그누보드5 / lib / common.lib.php 1912 ~ 1920 라인의
//$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>(\<\/(embed|object)\>)?#i",
// embed 또는 object 태그를 막지 않는 경우 필터링이 되도록 수정
$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>?(\<\/(embed|object)\>)?#i",
create_function('$matches', 'return "<div class=\"embedx\">보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.</div>";'),
$code);
}
return preg_replace("/\<([\/]?)(script|iframe|form)([^\>]*)\>?/i", "<$1$2$3>", $code);
를 아래와 같이 변경
!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", "<$1$2$3>", $code);
} else {
return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>?/i", "<$1$2$3>", $code);
} // 해피정닷컴 2014-12-24
2016-11-24 추가
그누보드5 / plugin / htmlpurifier / safeiframe.txt 에 허용할 도메인을 추가하면 iframe 동영상이 작동되도록 기능이 추가되었습니다.
2017-05-22 도메인 추가 업데이트
그누보드4 에서는 function bad_tag_convert($code) 를 이용해서 iframe 을 제어했으나,
G5 에서는 그누보드5/plugin/htmlpurifier/safeiframe.txt 에서 제어합니다.
# iframe 허용 도메인을 한줄에 하나씩만 적으세요.
# 도메인 뒤에 가급적 / 를 붙여주세요.
www.youtube(?:-nocookie)?.com/
serviceapi.rmcnmv.naver.com/
videofarm.daum.net/
player.vimeo.com/
www.google.com/
maps.google.com/
play.afreeca.com/
v.nate.com/
www.microsoft.com/showcase/video.aspx/
w.soundcloud.com/
www.facebook.com/
kakaotv.daum.net/
v.afree.ca/
play-tv.kakao.com/
# 해피정닷컴에서 추가한 동영상허용 링크 시작
time.graphics/
www.time.graphics/
www.liveleak.com/
www.mgoon.com/