赞
踩
ESAPI是owasp提供的一套API级别的web应用解决方案。https://www.owasp.org/
转自:https://blog.csdn.net/frog4/article/details/81876462
- <dependency>
- <groupId>org.owasp.esapi</groupId>
- <artifactId>esapi</artifactId>
- <version>2.1.0.1</version>
- </dependency>
在工程的资源文件目录下增加配置配置文件ESAPI.properties及validation.properties,文件内容可为空。如果为空则都取默认值。
1、针对xss漏洞
- //对用户输入“input”进行HTML编码,防止XSS
- input = ESAPI.encoder().encodeForHTML(input);
- //根据自己不同的需要可以选用以下方法
- //input = ESAPI.encoder().encodeForHTMLAttribute(input);
- //input = ESAPI.encoder().encodeForJavaScript(input);
- //input = ESAPI.encoder().encodeForCSS(input);
- //input = ESAPI.encoder().encodeForURL(input);
-
- //针对富文本进行html编码
2、针对sql注入漏洞
除了支持mysql还支持oracle
- String input1="用户输入1";
- String input2="用户输入2";
-
- //解决注入问题
- input1 = ESAPI.encoder().encodeForSQL(new MySQLCodec(MySQLCodec.Mode.STANDARD),input1);
- input2 = ESAPI.encoder().encodeForSQL(new MySQLCodec(MySQLCodec.Mode.STANDARD),input2);
-
- String sqlStr="select name from tableA where id="+input1 +"and date_created ='" + input2+"'";
-
- //执行SQL
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。