XSS脚本过滤
脚本攻击经常是项目测试人员或者“不法分子”闲着没事干,想办法让你的程序不正常,最近项目中刚好用到所以就贴出来做个笔记。
1.思路
我们可以通过servlet规范中的过滤器,对每一次请求进行过滤 --> 将请求参数获取到对脚本数据进行转义处理后再进行持久化操作,比如< script > < /script>中的''号。
2.配置过滤器
在项目中web.xml中添加:
XSSEscape
com.hp.up.front.xss.XSSFilter
XSSEscape
/*
REQUEST
其中com.hp.up.front.xss.XSSFilter就是过滤器路径
3.编写过滤器
自然是实现javax.servlet.Filter 重写doFilter了:
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class XSSFilter implements Filter {
@Override
public v