背景
前阵子做了几个项目,终于开发完毕,进入了测试阶段,信心满满将项目部署到测试环境,然后做了安全测评之后.....
(什么!你竟然说我代码不安全???)
然后测出了 Xss漏洞 安全的问题
解决方案
场景:可以在页面输入框输入JS脚本, 攻击者可以利用此漏洞执行恶意的代码 !
问题演示
所以我们要对于前端传输的参数做处理,做统一全局过滤处理
既然要过滤处理,我们首先需要实现一个自定义过滤器
总共包含以下四部分
XssUtil
XssFilterAutoConfig
XssHttpServletRequestWrapper
XssStringfJsonDeserializer
最后我们需要在全局过滤器中使用我们实现的Xss自定义过滤器
代码实现
XssFilterAtuoConfig实现代码
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import net.greatsoft.overallbudget.filter.SimpleCORSFilter;
import org.springframework.boot.context.embedded.FilterRegistrationBean;
import org.springframewo