묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
htmlpurifier 질문입니다..
2015.06.08 15:34
안녕하세요.
요즘 htmlpurifier에 대해서 공부하고 있습니다..
기타 다른 태그들은 htmlpurifier 를 사용해서 필터링하는건 어렵지 않은데요.
iframe 관련해서 src 부분에서 해매고 있습니다.
그래서 xe에서 htmlpurifier를 이용해 필터링을 한다고 하여 소스를 조금 둘러보았습니다.
xe/config/func.inc.php 에서 removeHackTag 함수를 통해서 태그필터링을 하는것 같았습니다.
관련한 클래스 파일인 /classes/security/embedFilter.class.php에서는 필터링을 htmlpurifier를 통해서 하는게 아니라..
따로 whitelist url 을 xml파일로 만들어서 필터링을 하는것 같았습니다..
xe에서는 더이상 htmlpurifier를 사용하지 않는건지.. 아니면 일부는 사용하고 일부는 사용하지 않는 건지.. 궁금합니다....
소스를 더 찾아봐야겠습니다.... 읽어주셔서 감사합니다. 작은 실마리를 찾을수 있었으면 좋겠네요.. 감사합니다.
https://github.com/xpressengine/xe-core/search?utf8=%E2%9C%93&q=removeHackTag&type=Code
게시글 작성등 유저가 올리는 모든 내용은 removeHackTag 함수를 거칩니다. removeHackTag 함수는 purifierHtml 함수를 호출하는데요, https://github.com/xpressengine/xe-core/blob/328ebdc118ce1b6b5cb52fdc425026b4bcb6cdfc/config/func.inc.php#L1074 이와 같이 Purifier.class.php를 호출하여 내용을 필터링합니다.
그리고 Purifier.class.php에서는 https://github.com/xpressengine/xe-core/blob/master/classes/security/Purifier.class.php#L17 와 같이 htmlpurifier를 불러와 사용하고 있습니다.
결론:아직도 htmlpurifier는 잘 사용되고 있습니다.