commons-lang常用工具类StringEscapeUtils使用

折月煮酒 提交于 2019-12-18 18:39:46

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

在apache commons-lang(2.3以上版本)中为我们提供了一个方便做转义的工具类,主要是为了防止sql注入,xss注入攻击的功能。总共提供了以下几个方法:

1.escapeSql 提供sql转移功能,防止sql注入攻击,例如典型的万能密码攻击' ' or 1=1 ' '

1 StringBuffer sql = new StringBuffer("select key_sn,remark,create_date from tb_selogon_key where 1=1 ");
2         if(!CommUtil.isEmpty(keyWord)){
3             sql.append(" and like '%"+ StringEscapeUtils.escapeSql(keyWord) +"%'");
4         }

2.escapeHtml /unescapeHtml  转义/反转义html脚本

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

3.escapeJavascript/unescapeJavascript 转义/反转义js脚本

1 System.out.println(StringEscapeUtils.escapeJavaScript("<script>alert('1111')</script>
2 "));  
3 输出为:<script>alert('111')</script>

4.escapeJava/unescapeJava 把字符串转为unicode编码

1 System.out.println(StringEscapeUtils.escapeJava("中国"));  
2 输出为:用escapeJava方法转义之后的字符串为:/u4E2D/u56FD/u5171/u4EA7/u515A
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!