XssHttpServletRequestWrapper文件中的两种写法
小白求助,学习一个系统的过程中,看到XssHttpServletRequestWrapper.class里有两种写法
一种是
private String cleanXSS(String value)
{
value = value.replaceAll("<", "<").replaceAll(">", ">");
value = value.replaceAll("\\(", "(").replaceAll("\\)", ")");
value = value.replaceAll("'", "'");
value = value.replaceAll("\"", """);
value = value.replaceAll("eval\\((.*)\\)", "");
value = value.replaceAll("[\\\"\\'][\\s]*javascript:(.*)[\\\"\\']", "\"\"");
value = value.replaceAll("script", "");
return value;
}
另一种是
private String cleanXSS(String value)
{
value = value.replaceAll("<", "& lt;").replaceAll(">", "& gt;");
value = value.replaceAll("\\(", "& #40;").replaceAll("\\)", "& #41;");
value = value.replaceAll("'", "& #39;");
value = value.replaceAll("\"", "& quot;");
value = value.replaceAll("eval\\((.*)\\)", "");
value = value.replaceAll("[\\\"\\'][\\s]*javascript:(.*)[\\\"\\']", "\"\"");
value = value.replaceAll("script", "");
return value;
}
我看了下,中间就差个空格
value = value.replaceAll("\\(", "(").replaceAll("\\)", ")");
value = value.replaceAll("\\(", "& #40;").replaceAll("\\)", "& #41;");
我在网上搜了一下,貌似有空格的是对的,因为有个sample就是这么给的,劳驾各位大神帮忙解释下,这两种写法有什么区别,ASIC码中间应该没有空格吧,感激不尽。