2011-05-10 7 views
0

내 애플리케이션 사용자는 자신의 콘텐츠를 넣을 수 있습니다. 물론 XSS 공격에 대한 응용 프로그램의 보안을 유지하려고합니다. 그러나 .encodeAsHTML()을 사용하면 모든 것이 빠져 나옵니다. 사용자가 텍스트 스타일을 사용하도록하고 싶습니다. <b>, <i>, <u>과 같이 이스케이프 처리하지 않을 태그가 필요합니다. 어떻게 내가 그걸 할 수 있을지 아는가? 아니면 누군가 이미 비슷한 것을 한 것입니까? 나는 BBCode 스타일 형식화에 대해서도 생각했다.Grails에서 특정 태그 만 이스케이프 처리하기

답변

1

jsoup을 보시면 태그 및 속성을 허용 목록에 추가하고 HTML을 제거 할 수 있습니다.

다음은 예입니다 :

String escapeNonFormattingHTML(String unescaped) { 
    def whitelist = Whitelist().simpleText() //allows b, i, u, em, strong 
    return new Jsoup().clean(unescaped, whitelist) 
} 
0

Html cleaner 플러그인 당신에게 화이트리스트 기반으로 깨끗한 HTML을 할 수 있습니다. 그러나 다른 태그는 이스케이프되지 않고 완전히 제거됩니다. 그것은 jsoup에 기반합니다.

관련 문제