2011-05-08 3 views
2

<p> <ul> <li> <b> <strong>과 같은 일부 태그를 허용하고 싶습니다. 특정 목록이 있습니다. 하지만 XSS 공격으로부터 보호하기 위해 탈출을 사용해야합니다. 특정 태그를 허용하지만 다른 모든 태그를 빠져 나오려면 어떻게해야합니까?일부 태그를 허용하지만 XSS 용으로 다른 태그를 차단하는 방법

+2

구문 엔진을 만들고 있다면'{p}'나'[p]'와 같은 독자적인 구문 블록을 사용하지 않을까요? 그냥 생각. – Blender

답변

0

드루팔 (Drupal에는 filter_xss이라는 기능이있어 정교한 것을 원한다면 (환상적인) 예제로 사용할 수 있습니다. 그렇지 않으면 strip_tags 기능 만 사용하십시오.

2

모든 종류의 XSS 악용을 방지하기위한 대안의 힙이 포함되어 있기 때문에 가장 자주 권장되는 것은 HTMLPurifier입니다. 다른 솔루션에서 누락 될 수있는 태그와 속성을 필터링합니다. 약간의 구성 작업이며 일부 설정에서는 과도한 작업 일 수 있습니다. 하지만 확실히 가장 안전한 방법입니다.

허용 목록을 구성 할 수 있지만 여전히 @yc에 의해 strip_tags() 메서드를 적용 할 수 있습니다. 그러나 그 자체로는 혼자가 아닙니다! HTMLPurifier가 포함 된!

+0

내 대답 삭제 중. +1. 'strip_tags'만으로는 게으른 대답이고, 정보가 부족한 사람들에게는 위험한 답변입니다. – Yahel

+0

여전히 좋은 알림입니다. 그리고 모든 * html 태그를 제거하기 때문에 완벽합니다. 이 예에서 적용하기 어려운 예외 일뿐입니다. – mario

관련 문제