StringEscapeUtils的常用使用,防止SQL注入及XSS注入

Posted 疯子加天才

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringEscapeUtils的常用使用,防止SQL注入及XSS注入相关的知识,希望对你有一定的参考价值。

引入common-lang-2.4.jar中
一个方便做转义的工具类,主要是为了防止sql注入,xss注入攻击的功能
官方参考文档
StringEscapeUtils.unescapehtml(sname)
1.escapeSql 提供sql转移功能,防止sql注入攻击,
例如典型的万能密码攻击’ ’ or 1=1 ’ ‘

StringBuffer sql = new StringBuffer("select key_sn,remark,create_date from tb_selogon_key where 1=1 ");
if(!CommUtil.isEmpty(keyWord)){
sql.append(" and like ‘%" + StringEscapeUtils.escapeSql(keyWord) + "%‘");
}
1
2
3
4
2.escapeHtml /unescapeHtml 转义/反转义html脚本

System.out.println(StringEscapeUtils.escapeHtml("<a>dddd</a>"));
1
输出结果为:<a>dddd</a>

System.out.println(StringEscapeUtils.unescapeHtml("&lt;a&gt;dddd&lt;/a&gt;"));
1
输出为:

<a>ddd</a>
1
3.escapejavascript/unescapeJavascript 转义/反转义js脚本

System.out.println(StringEscapeUtils.escapeJavaScript("<script>alert(‘1111‘)</script>"));
1
输出为:<script>alert(‘111’)</script>
4.escapeJava/unescapeJava 把字符串转为unicode编码

System.out.println(StringEscapeUtils.escapeJava("中国"));
1
输出为:用escapeJava方法转义之后的字符串为:/u4E2D/u56FD/u5171/u4EA7/u515A
————————————————
版权声明:本文为CSDN博主「小狮王」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wanghaoqian/article/details/78293631

以上是关于StringEscapeUtils的常用使用,防止SQL注入及XSS注入的主要内容,如果未能解决你的问题,请参考以下文章

StringEscapeUtils的使用

StringEscapeUtils的使用

StringEscapeUtils类

如何告诉 Java 使用哪个 StringEscapeUtils.escapeXML()?

为啥不推荐使用 org.apache.common.lang3 StringEscapeUtils?

java 防止xss攻击