본문에 동영상 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", "<$1$2$3>", $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", "<$1$2$3>", $code); } else { return preg_replace("/\<([\/]?)(script|iframe|form|applet)([^\>]*)\>?/i", "<$1$2$3>", $code); } // 해피정닷컴 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", "<$1$2$3>", $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", "<$1$2$3>", $code); } else { return preg_replace("/\<([\/]?)(script|iframe|form|applet)([^\>]*)\>?/i", "<$1$2$3>", $code); } // 해피정닷컴 2014-12-24
}
댓글 15개
12년 전
감사합니다.
12년 전
갑작스럽게 iframe 을 사용해야할 필요가 있는데, 팁을 찾아보니 관리자만 가능하게 된것이 아니라서, 정리해봤습니다.
takumi22
12년 전
감ㅅㅏ합니다
12년 전
관리자는 등록은 가능한데. 등록 후 일반 사용자에게는 태그로 보이게 되네요..
관리자 등록, 사용자 는 내용을 보기만 가능할 방법이 없을까요??
관리자 등록, 사용자 는 내용을 보기만 가능할 방법이 없을까요??
11년 전
방금 확인하니 그렇군요. 방법을 찾은후 내용을 변경하도록 하겠습니다.
11년 전
본문에 iframe 사용시 테그로 전환되는 문제가 있어서, 유튜브 동영상 삽입할때만 iframe 사용가능한 내용으로 팁을 변경했습니다.
10년 전
관리자일때 object 와 embed 동영상 테그로 보여지는 것이 가능하도록 했습니다.
10년 전
우왕... 좋은자료 감사합니다.
8년 전
끝에
} 이부분 확인하세요. 전 그냥 이부분 붙이기 해서 에러났어요 ^^;;
} 이부분 확인하세요. 전 그냥 이부분 붙이기 해서 에러났어요 ^^;;
5년 전
그렇군요. 마지막에 } 가 누락되었습니다.
링크의 강좌에는 } 가 포함되어 있는데
복사해서 이곳에 넣는 과정에서 누락되었나봅니다.
수정했습니다.
링크의 강좌에는 } 가 포함되어 있는데
복사해서 이곳에 넣는 과정에서 누락되었나봅니다.
수정했습니다.
starking
6년 전
고맙습니다.
오토앤하우스
5년 전
유용한 자료인 것 같아 스크립합니다.
오토앤하우스
5년 전
그누보드 4.34.20 (2012.03.02) 버전을 사용하고 있는데, 알려주신 대로 common.lib.php 파일을 고치니까 에라가 나고, 게시판 자체를 쓸 수가 없네요. 혹시 정상적인 파일을 구할 수는 없을까요?
5년 전
마지막에 } 누락된것이 확인되어 수정했습니다.
다시 확인해서 사용해보세요
다시 확인해서 사용해보세요
오토앤하우스
5년 전
방금 알려주신대로 고쳐봤는데, 잘 됩니다. 감사합니다. ^^
게시판 목록
그누4 팁자료실
그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
나누면 즐거움이 커집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3069 | 12년 전 | 4359 | ||
| 3068 |
|
12년 전 | 5665 | |
| 3067 | 12년 전 | 5692 | ||
| 3066 | 12년 전 | 7797 | ||
| 3065 | 12년 전 | 5954 | ||
| 3064 |
Header
|
12년 전 | 2863 | |
| 3063 | 12년 전 | 5388 | ||
| 3062 | 12년 전 | 24755 | ||
| 3061 |
디자인오늘
|
12년 전 | 2793 | |
| 3060 |
|
12년 전 | 11926 | |
| 3059 | 12년 전 | 5280 | ||
| 3058 | 12년 전 | 6165 | ||
| 3057 |
|
12년 전 | 11251 | |
| 3056 | 12년 전 | 5028 | ||
| 3055 | 12년 전 | 23534 | ||
| 3054 |
|
12년 전 | 8665 | |
| 3053 |
wndProc
|
12년 전 | 5433 | |
| 3052 | 12년 전 | 5502 | ||
| 3051 | 12년 전 | 3445 | ||
| 3050 | 12년 전 | 12126 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기