本文目录一览:
- 1、xss可以用风灵月影吗
- 2、XSS过滤器
- 3、防止XSS攻击
xss可以用风灵月影吗
XSS攻击使用“风灵月影”是不可行的,因为“风灵月影”是一款基于PHP的安全Web应用防护插件,而XSS攻击是一种跨站脚本攻击,使用“风灵月影”无法预防XSS攻击。
XSS过滤器
背景:过滤xss攻击,同时将过滤后的日志输出到指定文件。(指定文件输出请看上篇博文)
前景:利用filter进行xss攻击过滤,需要应对不同请求做不同的过滤处理,若是post请求的json格式数据,需要重写getinputstream方法(因为流读取一次后,下层controller无法再次进行读取。原理可自行百度)
因此需要重写两个wrapper(继承HttpServletRequestWrapper)(针对post的json请求以及其他格式的请求)
在filter中以contentType做类型的区分
未做业务耦合的区分(日志输出与xss过滤耦合到一起),若要区分开功能,单独书写即可
一:重写wrapper
1:contentType为multipart/form-data或application/x-www-form-urlencoded
2:contentType为application/json
二:xss处理工具方法:
三:filter过滤器
四:在web.xml配置过滤器
防止XSS攻击
关于什么是XSS攻击这里就不说明了,百度一下有很多解释,这里只是做一个自己的修补记录,仅供参考。
这里主要参考了公司的一位大神写的工具类,再做点修改
首页在web.xml里面去添加一个全局拦截器
然后是filter
filter引用了工具类XssUtil,XssHttpServletRequestWrapper