safeiframe.txt 가 동작하지 않습니다.
본문
# iframe 허용 도메인을 한줄에 하나씩만 적으세요.
# 도메인 뒤에 가급적 / 를 붙여주세요.
www.youtube(?:-nocookie)?.com/
serviceapi.rmcnmv.naver.com/
videofarm.daum.net/
player.vimeo.com/
gokifu.com/
macromedia.com/
현재 이렇게 되어있습니다.
gokifu.com/
iframe을 사용할 사이트인데
게시판에서 불러오는것은됩니다.
이런식으로 불러오는것은가능한데 정작 글을 쓰면 이렇게 iframe이 불러지지가 않습니다.
html보기 권한은 1로되어있는상태구요
어디가 문제인지 정확하게 확인이어렵습니다.
어디를봐야할까요
답변 2
lib > common.lib.php 에서 function html_purifier($html) 함수에
$config->set('HTML.SafeEmbed', false); 을 $config->set('HTML.SafeEmbed', true); 로 변경해주세요.
function html_purifier($html)
{
$f = file(G5_PLUGIN_PATH.'/htmlpurifier/safeiframe.txt');
$domains = array();
foreach($f as $domain){
// 첫행이 # 이면 주석 처리
if (!preg_match("/^#/", $domain)) {
$domain = trim($domain);
if ($domain)
array_push($domains, $domain);
}
}
// 내 도메인도 추가
array_push($domains, $_SERVER['HTTP_HOST'].'/');
$safeiframe = implode('|', $domains);
include_once(G5_PLUGIN_PATH.'/htmlpurifier/HTMLPurifier.standalone.php');
$config = HTMLPurifier_Config::createDefault();
// data/cache 디렉토리에 CSS, HTML, URI 디렉토리 등을 만든다.
$config->set('Cache.SerializerPath', G5_DATA_PATH.'/cache');
$config->set('HTML.SafeEmbed', true);
$config->set('HTML.SafeObject', false);
$config->set('Output.FlashCompat', false);
$config->set('HTML.SafeIframe', true);
$config->set('URI.SafeIframeRegexp','%^(https?:)?//('.$safeiframe.')%');
$config->set('Attr.AllowedFrameTargets', array('_blank'));
$purifier = new HTMLPurifier($config);
return $purifier->purify($html);
}