使用预编译的sql语句可以有效的防止sql注入的风险。
在常见的xss攻击和sql注入中一般使用过滤器规避风险,参考如下文章
使用HttpServletRequestWrapper 实现防止xss攻击和sql注入
在springmvc中使用的是getParameterValues进行参数的获取,所以在XssHttpServletRequestWrapper中需重写以下方法对参数进行过滤
/**
* 覆盖getParameterValues方法,将参数名和参数值都做xss过滤。 springmvc 参数
*/
@Override
public String[] getParameterValues(String name) {
String strs[] = super.getParameterValues(name);
for(int i = 0 ; i < strs.length ; i++) {
strs[i] = getParameter(name);
}
return strs;
}