iframe 문의
본문
일반 게시판에 iframe 적용 시키면 글쓰기 전에는 나오다 확인 누르고 게시판에서 확인 표현 안되는 건 왜 그런 건가요??
그래서 확인차 관리자 페이지 상단 메뉴에 넣어보니 게시판 상단으로는 출력이 잘되고여
해결 방안 아시는 분 답변 부탁 드립니다.
답변 5
lib/common.lib.php 에서 관리자가 작성한 글이라면 믿을수 있다고 보고,
iframe , script 등도 허용하는것도 하나의 방법입니다.
원본소스
// 악성태그 변환
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",
create_function('$matches', 'return "<div class=\"embedx\">보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.</div>";'),
$code);
}
$code = preg_replace("/\<([\/]?)(script|iframe|form|applet)([^\>]*)\>?/i", "<$1$2$3>", $code);
return $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",
create_function('$matches', 'return "<div class=\"embedx\">보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.</div>";'),
$code);
}
if ($view['mb_id'] != '관리자아이디')
$code = preg_replace("/\<([\/]?)(script|iframe|form|applet)([^\>]*)\>?/i", "<$1$2$3>", $code);
return $code;
}
최근들어 유투브때문인지 ㅎ 같은 질문이 자주 올라오네요.
여분필드를 활용해서 올려보세요.
그누보드 /lib/common.php 에 확인 하시면
iframe이 본문 내용(wr_content)로 왜 않되는지 알수 있을거에요.
아이프레임을 사용하고 싶으시다면 여분필드로 넣어서 사용하도록 하세요 ^^
아네 우선 답변 감사드립니다. 죄송하지만 완전 초보컴맹이라서요 ㅠㅠ여분필드 사용하려면 어떻게 해야하는지 좀 알려주실수있나요??
게시판의 여분필드는 wr_1~wr_10 입니다.
iframe이 본문내용(wr_content)으로 지정되어 있다면
wr_content를 wr_1~wr_10 값 중 하나로 바꾸어 사용하시면 됩니다..
감사드립니다. 고맙습니다.
답변을 작성하시기 전에 로그인 해주세요.