본문 바로가기

PHP

PHP에서 HTML 필터링 하기. HTML Purifier


웹 PHP 서비스 개발시, 단순하게 내용만 표시할 때에, 아무리 Javascript로 HTML태그를 제거를 해도 우회하여 XSS, 납치, 과도한 태그로인해 서비스에 보안상 위험이 따를 수 있습니다.


비록 모든 HTML을 제거하는 < , > &lt,. %gt;등으로 변환하는게 좋지만 일부분을 또 수락하고 싶을때(XSS방지는 하되, a, font span p 등은 허용) 편리하게 사용 가능한 클래스가 있습니다.


HTML Purifier입니다. 꽤 자세한 설정도 가능하고, 빠르고 자주 업데이트 되기때문에 믿을 만합니다. (몇일전에 보니 XE(XpressEngine)도 HTML Purifier를 사용하더군요,)


http://htmlpurifier.org/ 에서 다운로드 하실 수 있습니다.


http://htmlpurifier.org/demo.php 에서 미리 HTML Purifier를 테스트할 수 도 있습니다.


단 PHP 5버전 이상이여야합니다, 


간단하게 사용하는 방법을 코드로 정리해드리자면, 저와 같은 걍우,웹 검색결과를 표시할때에, HTML를 모두 제거하기위해 아래와 같은 코드를 사용하였습니다.