html_purifier 비활성시 보안상 얼마나 안좋을까요?
본문
video태그를 사용하려고 검색을 많이 해봤는데
if($filter)
$content = html_purifier($content);
이 부분을 주석처리하면 video태그가 잘 먹히는걸 알았습니다.
저 부분을 사용안하게되면 보안상 많이 취약해진다고 하는데
어떻게 해킹이 들어와서 어떤 피해를 주는지 궁금합니다.
현재 autoset를 이용해서 제 컴퓨터로 사이트를 이용중인데
만약 보안이 뚫려서 해킹이 들어온다면, 컴퓨터에 연결된 모든 하드디스크 자료도 피해를 입을 수 있는건가요?
이쪽으로는 너무나도 무지한 사람이라 궁금하네요^^;
그리고 위 방법이 아닌
$config->set('HTML.DefinitionID', 'html5-definitions'); // unqiue id
$config->set('HTML.DefinitionRev', 1);
$config->set('Attr.AllowedFrameTargets', array('_blank'));
if ($def = $config->maybeGetRawHTMLDefinition()) {
// http://developers.whatwg.org/the-video-element.html#the-video-element
$def->addElement('video', 'Block', 'Optional: (source, Flow) | (Flow, source) | Flow', 'Common', array(
'src' => 'URI',
'type' => 'Text',
'width' => 'Length',
'height' => 'Length',
'poster' => 'URI',
'preload' => 'Enum#auto,metadata,none',
'controls' => 'Bool',
));
}
$purifier = new HTMLPurifier($config);
return $purifier->purify($html);
}
이 방법으로도 되는걸 확인했는데, pc, 모바일 모두 자동재생이 안되며, pc에서는 멈춰있는 영상이 잘 보이지만
모바일에서는 흰색바탕에 플레이버튼만 크게 보이는데
원래 그런걸까요?
답변 1
1. video태그 뿐만아니라 다른 태그들도 같이 허용되기 때문에
해킹하려고 한다면 모든게 털리고 사이트도 중지 될 수 있습니다.
단지 video 태그만 사용하고자 한다면,
/lib/common.lib.php 파일에서
function html_purifier($html) 함수를 찾아서..
//include_once(G5_PLUGIN_PATH.'/htmlpurifier/extend.video.php');
이 부분만 주석처리하는 방법도 있습니다.
2. 자동재생은 구글링하시면 많이 나옵니다.