类 SqlIdentifierValidator

java.lang.Object
com.gdxsoft.easyweb.datasource.SqlIdentifierValidator

public class SqlIdentifierValidator extends Object
SQL标识符验证器 用于验证表名、字段名等SQL标识符,防止SQL注入
  • 构造器详细资料

    • SqlIdentifierValidator

      public SqlIdentifierValidator()
  • 方法详细资料

    • validateStrict

      public static String validateStrict(String identifier)
      验证SQL标识符(严格模式) 只允许字母、数字、下划线,且以字母或下划线开头
      参数:
      identifier - 要验证的标识符
      返回:
      验证后的标识符
      抛出:
      IllegalArgumentException - 如果标识符不合法
    • validateQualified

      public static String validateQualified(String identifier)
      验证SQL标识符(允许database.table格式)
      参数:
      identifier - 要验证的标识符
      返回:
      验证后的标识符
      抛出:
      IllegalArgumentException - 如果标识符不合法
    • validateTildeParam

      public static String validateTildeParam(String paramName, String paramValue, boolean fromTrustedSource)
      验证~参数(用于动态表名替换)
      参数:
      paramName - 参数名(如 TB)
      paramValue - 参数值
      fromTrustedSource - 是否来自可信源(SESSION/SYSTEM等)
      返回:
      验证后的值
      抛出:
      SecurityException - 如果验证失败
    • containsSqlInjectionPattern

      public static boolean containsSqlInjectionPattern(String input)
      检查字符串是否包含SQL注入特征
      参数:
      input - 输入字符串
      返回:
      如果包含SQL注入特征返回true