类 SqlIdentifierValidator
java.lang.Object
com.gdxsoft.easyweb.datasource.SqlIdentifierValidator
SQL标识符验证器
用于验证表名、字段名等SQL标识符,防止SQL注入
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static boolean检查字符串是否包含SQL注入特征static StringvalidateQualified(String identifier) 验证SQL标识符(允许database.table格式)static StringvalidateStrict(String identifier) 验证SQL标识符(严格模式) 只允许字母、数字、下划线,且以字母或下划线开头static StringvalidateTildeParam(String paramName, String paramValue, boolean fromTrustedSource) 验证~参数(用于动态表名替换)
-
构造器详细资料
-
SqlIdentifierValidator
public SqlIdentifierValidator()
-
-
方法详细资料
-
validateStrict
验证SQL标识符(严格模式) 只允许字母、数字、下划线,且以字母或下划线开头- 参数:
identifier- 要验证的标识符- 返回:
- 验证后的标识符
- 抛出:
IllegalArgumentException- 如果标识符不合法
-
validateQualified
验证SQL标识符(允许database.table格式)- 参数:
identifier- 要验证的标识符- 返回:
- 验证后的标识符
- 抛出:
IllegalArgumentException- 如果标识符不合法
-
validateTildeParam
public static String validateTildeParam(String paramName, String paramValue, boolean fromTrustedSource) 验证~参数(用于动态表名替换)- 参数:
paramName- 参数名(如 TB)paramValue- 参数值fromTrustedSource- 是否来自可信源(SESSION/SYSTEM等)- 返回:
- 验证后的值
- 抛出:
SecurityException- 如果验证失败
-
containsSqlInjectionPattern
检查字符串是否包含SQL注入特征- 参数:
input- 输入字符串- 返回:
- 如果包含SQL注入特征返回true
-