* 防止sql注入
*/
package com.cvicse.sws.wfs.comm;
public class FilterSql {
public static String filterSql(String source)
{
//單引號替換成兩個單引號
source = source.replace("'", "''");
source = source.replace("\"", "“");
source = source.replace("|", "|");
//半角分號替換爲全角封號,防止多語句執行
source = source.replace(";", ";");
//半角括號替換爲全角括號
source = source.replace("(", "(");
source = source.replace(")", ")");
/**/
///////////////要用正則表達式替換,防止字母大小寫得情況////////////////////
//去除執行存儲過程的命令關鍵字
source = source.replace("Exec", "");
source = source.replace("Execute", "");
//去除系統存儲過程或擴展存儲過程關鍵字
source = source.replace("xp_", "x p_");
source = source.replace("sp_", "s p_");
//防止16進制注入
source = source.replace("0x", "0 x");
return source;
}
}