package com.iailab.module.data.common.xss;
|
|
import com.iailab.module.data.common.exception.RRException;
|
import org.apache.commons.lang3.StringUtils;
|
|
/**
|
* SQL过滤
|
*
|
* @author Mark sunlightcs@gmail.com
|
*/
|
public class SQLFilter {
|
|
/**
|
* SQL注入过滤
|
*
|
* @param str 待验证的字符串
|
*/
|
public static String sqlInject(String str) {
|
if (StringUtils.isBlank(str)) {
|
return null;
|
}
|
//去掉'|"|;|\字符
|
str = StringUtils.replace(str, "'", "");
|
str = StringUtils.replace(str, "\"", "");
|
str = StringUtils.replace(str, ";", "");
|
str = StringUtils.replace(str, "\\", "");
|
|
//转换成小写
|
str = str.toLowerCase();
|
|
//非法字符
|
String[] keywords = {"master", "truncate", "insert", "select", "delete", "update", "declare", "alter", "drop"};
|
|
//判断是否包含非法字符
|
for (String keyword : keywords) {
|
if (str.indexOf(keyword) != -1) {
|
throw new RRException("包含非法字符");
|
}
|
}
|
|
return str;
|
}
|
|
/**
|
* SQL注入过滤
|
*
|
* @param orgStr 待验证的字符串
|
*/
|
public static String sqlInject2(String orgStr) {
|
if (StringUtils.isBlank(orgStr)) {
|
return null;
|
}
|
//转换成小写
|
String str = new String(orgStr.toLowerCase());
|
|
//非法字符
|
String[] keywords = {";", "master", "truncate", "insert", "delete", "update", "declare", "alter", "drop"};
|
|
//判断是否包含非法字符
|
for (String keyword : keywords) {
|
if (str.indexOf(keyword) != -1) {
|
throw new RRException("包含非法字符");
|
}
|
}
|
|
return str;
|
}
|
}
|