commons-lang經常使用工具類StringEscapeUtils

在apache commons-lang(2.3以上版本)中爲咱們提供了一個方便作轉義的工具類,主要是爲了防止sql注入,xss注入攻擊的功能。總共提供瞭如下幾個方法: html

1.escapeSql 提供sql轉移功能,防止sql注入攻擊,例如典型的萬能密碼攻擊' ' or 1=1 ' ' java

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) + "%'");
		}

2.escapeHtml /unescapeHtml  轉義/反轉義html腳本 sql

System.out.println(StringEscapeUtils.escapeHtml("<a>dddd</a>"));   
輸出結果爲:&lt;a&gt;dddd&lt;/a&gt;
System.out.println(StringEscapeUtils.unescapeHtml("&lt;a&gt;dddd&lt;/a&gt;"));   
輸出爲:<a>ddd</a>

3.escapeJavascript/unescapeJavascript 轉義/反轉義js腳本 apache

System.out.println(StringEscapeUtils.escapeJavaScript("<script>alert('1111')</script>"));   
輸出爲:&lt;script&gt;alert('111')&lt;/script&gt;

4.escapeJava/unescapeJava 把字符串轉爲unicode編碼 app

System.out.println(StringEscapeUtils.escapeJava("中國"));   
輸出爲:用escapeJava方法轉義以後的字符串爲:/u4E2D/u56FD/u5171/u4EA7/u515A
相關文章
相關標籤/搜索