테스트 사이트 - 개발 중인 베타 버전입니다

그누보드5에서 관리자 iframe 허용하는 방법을 좀 알려주세요

승후아빠 6년 전 조회 5,267

그누보드5에서 관리자는 글을 쓸대 iframe 허용하는 방법을 좀 알려주세요^^

 

미리 감사합니다. (* *)(_ _)

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

e
6년 전

/https://sir.kr/g5_tip/2236">lib/common.lib.php 파일에 

html_purifier($html) 함수에서 차단하는데요.

여기에 if(!is_admin()) {} 조건을 추가해주면 됩니다.

</p>

<p>function html_purifier($html)</p>

<p>{</p>

<p>if(!is_admin()) {</p>

<p>    $f = file(G5_PLUGIN_PATH.'/htmlpurifier/safeiframe.txt');</p>

<p>    $domains = array();</p>

<p>    foreach($f as $domain){</p>

<p>        // 첫행이 # 이면 주석 처리</p>

<p>        if (!preg_match("/^#/", $domain)) {</p>

<p>            $domain = trim($domain);</p>

<p>            if ($domain)</p>

<p>                array_push($domains, $domain);</p>

<p>        }</p>

<p>    }</p>

<p>    // 내 도메인도 추가</p>

<p>    array_push($domains, $_SERVER['HTTP_HOST'].'/');</p>

<p>    $safeiframe = implode('|', $domains);</p>

<p> </p>

<p>    include_once(G5_PLUGIN_PATH.'/htmlpurifier/HTMLPurifier.standalone.php');</p>

<p>    include_once(G5_PLUGIN_PATH.'/htmlpurifier/extend.video.php');</p>

<p>    $config = HTMLPurifier_Config::createDefault();</p>

<p>    // data/cache 디렉토리에 CSS, HTML, URI 디렉토리 등을 만든다.</p>

<p>    $config->set('Cache.SerializerPath', G5_DATA_PATH.'/cache');</p>

<p>    $config->set('HTML.SafeEmbed', false);</p>

<p>    $config->set('HTML.SafeObject', false);</p>

<p>    $config->set('Output.FlashCompat', false);</p>

<p>    $config->set('HTML.SafeIframe', true);</p>

<p>    if( (function_exists('check_html_link_nofollow') && check_html_link_nofollow('html_purifier')) ){</p>

<p>        $config->set('HTML.Nofollow', true);    // rel=nofollow 으로 스팸유입을 줄임</p>

<p>    }</p>

<p>    $config->set('URI.SafeIframeRegexp','%^(https?:)?//('.$safeiframe.')%');</p>

<p>    $config->set('Attr.AllowedFrameTargets', array('_blank'));</p>

<p>    //유튜브, 비메오 전체화면 가능하게 하기</p>

<p>    $config->set('Filter.Custom', array(new HTMLPurifier_Filter_Iframevideo()));</p>

<p>    $purifier = new HTMLPurifier($config);</p>

<p>    return $purifier->purify($html);</p>

<p>} else {</p>

<p>  return $html;</p>

<p>}</p>

<p>}</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

릴보이즈
4년 전
그대로 썼는데 안되는군요..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인