Comprobación de prevención de inyección SQL

Comprobación de prevención de inyección SQL

método específico

/**
     * @author ampsycho.hw
     * @Title: sqlValidate
     * @Description: 验证sql是否为违法关键字
     * @param @param
     *            str
     * @param @return
     * @return boolean 有true,无false
     */
    private boolean sqlValidate(String str) {
        str = str.toLowerCase();// 统一转为小写
        String badStr = "'|exec|execute|insert|select|delete|update|drop|%|master|truncate|"
                + "declare|sitename|net user|xp_cmdshell|like'|exec|execute|insert|create|drop|"
                + "table|grant|use|group_concat|column_name|information_schema.columns|table_schema|"
                + "select|delete|update|master|truncate|declare|-- |like|//|%";// 过滤掉的sql关键字,可以手动添加
        String[] badStrs = badStr.split("\\|");
        for (int i = 0; i < badStrs.length; i++) {
            if (str.indexOf(badStrs[i]) >= 0) {
                return true;
            }
        }
        return false;
    }

Supongo que te gusta

Origin blog.csdn.net/ampsycho/article/details/77769239
Recomendado
Clasificación