답변 5개
11년 전
lib/common.lib.php 에서 관리자가 작성한 글이라면 믿을수 있다고 보고,
iframe , script 등도 허용하는것도 하나의 방법입니다.
원본소스
</div>
<div><div>// 악성태그 변환</div>
<div>function bad_tag_convert($code)</div>
<div>{</div>
<div> global $view;</div>
<div> global $member, $is_admin;</div>
<div>
</div>
<div> if ($is_admin && $member[mb_id] != $view[mb_id]) {</div>
<div> $code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>?(\<\/(embed|object)\>)?#i",</div>
<div> create_function('$matches', 'return "<div class=\"embedx\">보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.</div>";'),</div>
<div> $code);</div>
<div> }</div>
<div>
</div>
<div><span class="Apple-tab-span" style="white-space: pre"> </span>$code = preg_replace("/\<([\/]?)(script|iframe|form|applet)([^\>]*)\>?/i", "<$1$2$3>", $code);</div>
<div><span class="Apple-tab-span" style="white-space: pre"> </span>return $code;</div>
<div>}</div></div>
<div>
변경할 소스
</div>
<div><div>// 악성태그 변환</div>
<div>function bad_tag_convert($code)</div>
<div>{</div>
<div> global $view;</div>
<div> global $member, $is_admin;</div>
<div>
</div>
<div> if ($is_admin && $member[mb_id] != $view[mb_id]) {</div>
<div> $code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>?(\<\/(embed|object)\>)?#i",</div>
<div> create_function('$matches', 'return "<div class=\"embedx\">보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.</div>";'),</div>
<div> $code);</div>
<div> }</div>
<div>
</div>
<div><span class="Apple-tab-span" style="white-space: pre"> </span><font color="#ff0000">if ($view['mb_id'] != '관리자아이디') </font></div>
<div><span class="Apple-tab-span" style="white-space: pre"> </span>$code = preg_replace("/\<([\/]?)(script|iframe|form|applet)([^\>]*)\>?/i", "<$1$2$3>", $code);</div>
<div><span class="Apple-tab-span" style="white-space: pre"> </span>return $code;</div>
<div>}</div></div>
<div>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
11년 전
게시판의 여분필드는 wr_1~wr_10 입니다.
iframe이 본문내용(wr_content)으로 지정되어 있다면
wr_content를 wr_1~wr_10 값 중 하나로 바꾸어 사용하시면 됩니다..
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인