사이트 내 전체검색
그누보드
[개선] 특정 게시물에 대해 스크립트,iframe 허용하기 (동영상, 자바스크립트 등 허용)
로빈아빠
https://cmd.kr/gnu/124 URL이 복사되었습니다.

본문

보통 보안상의 이유로 게시판 내용에 포함된 특수 태그를 금지한다.
금지위치 : common.lib.php

// 악성태그 변환
function bad_tag_convert($code)
{
    return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "&lt;$1$2$3&gt;", $code);
}


관리자의 필요에따라 게시물별로 허용하는 스킨을 만들자면
1. write.skin.php 에서 옵션부분 추가

    if ($is_secret) {
        if ($is_admin || $is_secret==1) {
            $option .= "<input type=checkbox value='secret' name='secret' $secret_checked><span class=w_title>비밀글</span>&nbsp;";
        } else {
            $option_hidden .= "<input type=hidden value='secret' name='secret'>";
        }
    }
   
 if ($is_admin) {
  $option .= "<input type=checkbox value='notbadtag' name='notbadtag' ".($write[wr_9]=="notbadtag"?"checked":"")."><span class=w_title>스크립트허용</span>&nbsp;";
 }
   
    if ($is_mail) {
        $option .= "<input type=checkbox value='mail' name='mail' $recv_email_checked>답변메일받기&nbsp;";
    }

2. write_update.skin.php 끝에 추가
//2009-12-17 김성대 스크립트,태크 허용이면
if ($is_admin&&array_key_exists("notbadtag",$_POST)) {
 $sql="update $write_table set wr_9='$_POST[notbadtag]' where wr_id='$wr_id'";
 sql_query($sql);
}

3. view.skin.php 상단부분에 추가
if ($view[wr_9]=="notbadtag") {
    $view[content]=str_replace("&lt;","<",$view[content]);
    $view[content]=str_replace("&gt;",">",$view[content]);
    $view[content]=str_replace("&amp;","&",$view[content]);
}

수정에서 스크립트허용 을 check 하면 동영상등이 잘 보이게 될것이다.
물론 관리자가 수정한 게시물에만 허용된다.

wr_9 여분필드를 사용하니 중복되면 다른것으로 바꾸어야 한다..


출처: freeimage.kr 반드시 명시해주세요..

댓글목록

등록된 댓글이 없습니다.

그누보드
190 (3/4P)

Search

Copyright © Cmd 명령어 3.144.228.149