SQL 防注入式攻击

1、检查是否有非法字符

 

public static boolean sql_inj(String str)
{
    String inj_str = "'|and|exec|insert|select|delete|update|
count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,"
;
//这里的东西还可以自己添加
String[] inj_stra=inj_str.split("//|");
    for (int i=0 ; i <; inj_stra.length ; i++ )
    {
        if (str.indexOf(inj_stra[i])<=0)
        {
            return true;
        }
    }
    return false;
}

2、过滤非法字符

public static String TransactSQLInjection(String str)
{
return str.replaceAll(".*([';]+|(--)+).*", " ");
}

你可能感兴趣的:(SQL 防注入式攻击)