关于xss和sql注入的介绍,可参考https://www.cnblogs.com/ITtangtang/p/3982297.html,里面有介绍。这里介绍项目中如何过滤用户提交的数据。
1. web.xml配置拦截器
自定义一个实现了Filter接口的类XssAndSqlFilter。这个类用来实现具体的参数替换逻辑。
<!-- 防XSS和sql注入漏洞 开始 -->
<filter>
<filter-name>xssAndSqlFilter</filter-name>
<filter-class>com.lancy.web.filter.XssAndSqlFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>xssAndSqlFilter</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
<!-- 防XSS和sql注入漏洞 结束-->
2. 编写自定义拦截器类,实现Filter接口
package com.lancy.web.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import com.lancy.web.request.XssAndSqlHttpServletRequestWrapper;
/**
* @Title: XssAndSqlFilter.java
* @Description: 防XSS和sql注入漏洞 filter
* @date 2017年9月7日 下午6:59:23
* @version V1.0
*/
public class XssAndSqlFilter implements Filter {
@Override
public