|皕杰报表web端新增两个过滤器
为了解决由于编码问题而导致的找不到模板文件以及解决安全扫描中XSS注入风险问题 , 皕杰报表web端新增了两个过滤器供选择 , 一个是字符编码过滤器(CharacterEncodingFilter) , 一个是XSS过滤器(XssRequestFilter) 。
一、字符编码过滤器(CharacterEncodingFilter)
实质上这是一个编码转换过滤器 , 把URL中的编码统一成UTF-8 , 从而解决了由于编码问题而导致的找不到模板文件、页面乱码等问题 。 如果要使用该过滤器 , 需在web.xml中进行如下配置:
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>bios.report.engine.output.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/ReportEmitter</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/ReportQuerier</url-pattern>
</filter-mapping>
… …
有两点需要注意:
1、该过滤器仅仅针对GET请求有效 。
2、如果使用皕杰框架平台的话 , 请把该过滤器配置在平台的主过滤器之后 。
二、XSS过滤器(XssRequestFilter)
为了解决安全扫描中XSS注入风险问题 , 增加了一个XSS过滤器(XssRequestFilter) , 可以有效解决XSS注入的安全问题 。 如果要使用该过滤器 , 需在web.xml中进行如下配置:
<filter>
<filter-name>XSSRequestFilter</filter-name>
<filter-class>bios.report.engine.output.XSSRequestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>XSSRequestFilter</filter-name>
<url-pattern>/ReportEmitter</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>XSSRequestFilter</filter-name>
<url-pattern>/ReportQuerier</url-pattern>
</filter-mapping>
… …
XSS规则配置
为了能灵活控制不断变化的XSS注入 , XssRequestFilter把过滤规则放置在/WEB-INF/resources/xssruler_config.xml中 , 这样可以根据需要进行过滤规则控制 。
一个参数只能配置一条规则 , 参数名区分大小写;一个规则中可以配置很多的注入特征字符 , 不同的特征字符之间用逗号隔开 , 特征字符不区分大小写按照配置的顺序执行处理;
如下所示:
<Config>
<parametername=\"rpt\" xss=\"scriptalert\" />
<parametername=\"rptskin\" xss=\"scriptalert\" />
</Config>
其它说明
1、遇到参数值中有xss脚本时 , 并不中断请求 , 而是把参数值中的与xss特性相关内容去掉 。
2、XSS特性字符中如果有特殊字符 , 例如:‘<’用‘ <’代替;‘>’用‘>’代替 。
3、如果使用皕杰框架平台的话 , 请把该过滤器配置在平台的主过滤器之后 。
- 风险|Web 3.0:新的网络世界需要新的规则
- web3|J9数字货币平台:谷歌前CEO-Web3愿景是正确的
- web3|阿里云蔡英华:投10亿元下沉300个城市,助100家伙伴年销售额过亿
- 大公司|Web前端:NodeJS与ReactJS对比,下一个项目该选择什么?
- web3|关于Web3如何保证隐私和证明权益,这么说你就能轻松理解了
- 图扑 Web 可视化引擎在仿真分析领域的应用
- 运营商|Web前端:使用AngularJS进行Web开发的8个好处
- 腾讯|J9数字平台科普:Web3支柱:去中心化存储全面解析
- web3|免费升级!增配不增价,极氪001智能全面进化,直接闭眼入手?
- web开发|Web前端:一些必不可少的惊人的网络开发工具和资源