2013-05-04 4 views
1

You know that SimpleHtmlSanitizer.java only accepts the following markup ("b", "em", "i", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ul", "ol", "li"). It is good but I want "u", "sub", "a href=" & don't want "hr", "ul", "ol", "li". So I need to modify this class., 어떻게 그 클래스에서이 라인에서 <a href=> (Gwt)?

Now look at the SimpleHtmlSanitizer.java (https://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java?r=8653) & 표정으로 처리합니다. 그래서 다음과 같이 수정합니다 :

Arrays.asList("b","i", "u", "h1", "h2", "h3", "h4","a href=")); 

"a href ="를 제외한 모든 태그는 잘 작동합니다. 예를 들어, 문자열을 넣을 때 Test <a href="car.com"><hr>hello</a> 올바른 출력을 표시하지 않았습니다. 올바른 출력은 하이퍼 링크에 <hr>hello 문자열을 가져야합니다.

그래서 SimpleHtmlSanitizer 소독하라고 속성이없는 태그, 어떤 <a href="">이 없기 때문에입니다 <a href=

+0

make-href에 대한 고려 사항은 안전하지 않은 방식으로 사용될 수 있으므로 URL을 삭제해야합니다. 'test'시도해보십시오 - 경고 팝업이 나타나면 앱에서 임의의 (그리고 안전하지 않은!) JavaScript가 실행되는 것을 올바르게 방지하지 못했습니다. 이것은 하나의 예일뿐입니다. 다른 경우가 있습니다. URL 위생을 위해 UriUtils를 살펴보십시오. –

답변

0

의 경우 SimpleHtmlSanitizer를 수정하는 방법에 대해 설명합니다. 따라서이를 허용하려면 simpleSanitize() 방법을 사용해야합니다. 하지만 그 때문에 언급되지 않았으므로 다른 알고리즘을 사용하고 안전하지 않은 것처럼 보일 수도 있습니다.

+0

Thax you Colin & Andrea, href가 안전하지 않다는 것을 몰랐습니다. – Tum