2011-03-30 4 views
1

이것은별로 중요하지는 않지만 HTMLPurifier에서 인수 주위에 큰 따옴표를 생략 할 수 있는지 알아야합니다. HTML을 필터링 할 때 대개 XHTML 구문으로 형식을 다시 지정합니다.HTMLPurifier에서 주위에 큰 따옴표를 생략 = "특성"

출력 할 때마다 class="xyz"이 아닌 <div class=alphanum>을 선호합니다.

구성 설정 http://htmlpurifier.org/live/configdoc/plain.html은 명백한 옵션을 제공하지 않으며 코드를 살펴 보지 않아도됩니다 (500K는 겁 먹을 것입니다). HTMLPurifier는 어느 시점에서 DOMDocument를 사용합니다. 이것이 파싱을위한 것인지 아니면 출력 직렬화를위한 것인지 확실하지 않습니다. (그러면 직접 질문에 대답 할 수 있습니다 : 아니오).

태그를 훑어 보았는데 아무 것도 발견되지 않았습니다. 그리고 실험용 (?) HTMLPurifier/Lexer/PH5P.php 파서를 활성화해도 출력이으로 변경되지 않습니다.

이렇게 드문 설정이나 조정이 있습니까?

+0

정리 후에 정규 표현식을 사용할 수 있다는 것을 알고 있습니다. 그러나 나는 여기에 을 쓰지 않는 것이 좋습니다. :} - 유스 케이스의 경우 : 나쁜 습관을 가리고 싶다. 실제 XHTML 사이트가 하나뿐입니다 [내 책에 올바른 MIME 유형을 사용하는 경우에만 해당]입니다. SGML 표기법 을 사용하는 것이 더 좋아서 이제는 일류입니다. – mario

+1

따옴표를 사용하는 것은 실제로 나쁜 습관이 아닙니다. W3C는 [그것을 제거 할 수있는 경우에도 따옴표를 사용하는 것이 좋습니다] (http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2). – Gordon

+0

나는 그것을 가장 권위있는 조언으로 받아들입니다. 여전히 가독성에 대한 부담이 될 수 있으며, 대부분의 XML 툴킷이 HTML 모드를 제공한다는 점에서 기술적으로 더 이상 필요하지 않습니다. – mario

답변

3

HTML Purifier는 보안상의 이유로 모든 속성을 특별히 인용합니다. 끄기위한 손잡이가 없습니다.

+0

결정적인 대답. - 특정 유형의 XSS 익스플로잇에서 인용 금지가 방지 되었습니까? – mario

+1

잘 알려진 한 가지 예는 IE가 백틱을 "따옴표"로 처리한다는 사실입니다. 실제로 따옴표를 잃을 때 브라우저 특정 동작이 끝나지 않으므로 HTML Purifier는 항상 태그를 넣습니다. –

+0

OK. 따라서 일반적인 동작이지만 영숫자가 아닌 특성 콘텐츠에 대한 목적입니다. 엄밀히 말하면'\ w +'값에는 아무런 관심도 없다. – mario

관련 문제