上一篇文章中讲到了如何防御xss脚本攻击的方法。这一集详细介绍具体方法:
只需要写过滤器,去拦截每个请求,对每个不为空的参数,实现一个特殊字符的过滤。
和拦截器的区别:
aop也是可以的,它是springboot自带的,但是过滤器比较推荐。因为拦截器属于serverlet中没有的概念。
过滤器(Filter)是Servlet的加强版,通过实现javax.servlet.Filter接口来增强功能。它主要用于对用户请求进行预处理,例如检查用户授权、记录日志信息、解码和过滤字符编码等。过滤器在Web应用启动时初始化一次,并在整个生命周期内处理请求,直到应用停止或重新部署时销毁。
使用Filter的流程包括:1)对用户请求进行预处理;2)将请求交给Servlet处理并生成响应;3)对服务器响应进行后处理。为创建Filter,需要实现javax.servlet.Filter接口,该接口定义了三个方法:init()用于Filter的初始化;doFilter()用于实现过滤功能,即对每个请求增加额外的处理;destroy()用于回收资源。
doFilter()方法用于实现用户请求的预处理和服务器响应的后处理。预处理和后处理的分界线为是否调用了chain.doFilter()方法,调用之前是预处理,调用之后是后处理。
拦截器属于SpringMvc提供拦截请求框架,但是最上一层,是过滤器先执行,因为先找到过滤器,然后再去走到拦截器。
过滤器---------拦截器
方法:
自己封装一些aop,通过a