修改SimpleHtmlSanitizer.java时,如何处理 (Gwt)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改SimpleHtmlSanitizer.java时,如何处理 (Gwt)?相关的知识,希望对你有一定的参考价值。
您知道SimplehtmlSanitizer.java只接受以下标记(“b”,“em”,“i”,“h1”,“h2”,“h3”,“h4”,“h5”,“h6”,“hr “,”ul“,”ol“,”li“)。这很好,但我想要“你”,“sub”,“a href =”并且不想要“hr”,“ul”,“ol”,“li”。所以我需要修改这个类。
现在看看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", "em", "i", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ul", "ol", "li"));
您可以猜测我们可以将我们希望的列表放入该行代码中。所以我将其修改为:
Arrays.asList("b","i", "u", "h1", "h2", "h3", "h4","a href="));
除了“a href =”之外,该列表中的每个标记都可以正常工作。例如,当我把字符串Test <a href="car.com"><hr>hello</a>
它没有显示正确的输出。正确的输出应该在超链接中有字符串<hr>hello
。
那么如何在<a href=
的情况下修改SimpleHtmlSanitizer
那是因为SimpleHtmlSanitizer
清理了无属性标签,<a href="">
不是。因此,你必须戳入simpleSanitize()
方法来允许。但请注意,它没有被提及,所以你可能在其中使用另一种算法,它闻起来不安全。
以上是关于修改SimpleHtmlSanitizer.java时,如何处理 (Gwt)?的主要内容,如果未能解决你的问题,请参考以下文章