比如普通文本框提供给用户输入,如果用户输入带有<script></script>等等脚本保存到数据库,数据库然后取出来会执行,如果是恶意循环可能使得用户浏览器死掉。好的办法是在取出数据时过滤,这也有利于得格式的排版等问题。可以使用如下方法得到解决:
public String filterHtml(String value){
value=value.replaceAll("&", "&");
value=value.replaceAll("<", "<");
value=value.replaceAll(">", ">");
value=value.replaceAll(" ", " ");
value=value.replaceAll("'", "'");
value=value.replaceAll("/"", """);
value=value.replaceAll("/n", "<br>");
return value;
}