commons-lang常用工具類StringEscapeUtils使用

jopen 12年前發布 | 64K 次閱讀 Java開發 commons-lang

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

commons-lang常用工具類StringEscapeUtils使用

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

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

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

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

System.out.println(StringEscapeUtils.escapeJavaScript("
"));   
輸出為:<script>alert('111')</script>

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

System.out.println(StringEscapeUtils.escapeJava("中國"));   
輸出為:用escapeJava方法轉義之后的字符串為:/u4E2D/u56FD/u5171/u4EA7/u515A

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!