StringEscapeUtils的常用使用,防止SQL注入及XSS注入
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
StringEscapeUtils的常⽤使⽤,防⽌SQL注⼊及XSS注⼊
2017年10⽉20⽇ 11:29:44 阅读数:8974
版权声明:本⽂为博主原创⽂章,转载请注明出处。
https:///wanghaoqian/article/details/78293631
引⼊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("<a>dddd</a>"));
1
输出为:
<a>ddd</a>
1
3.escapeJavascript/unescapeJavascript 转义/反转义
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。