This commit is contained in:
温少
2012-03-18 03:43:35 +08:00
parent d0e1d4c038
commit 7040e58e75
67 changed files with 141 additions and 115 deletions
@@ -1,4 +1,4 @@
package com.alibaba.druid.filter.wall;
package com.alibaba.druid.wall;
public class IllegalSQLObjectViolation implements Violation {
@@ -1,4 +1,4 @@
package com.alibaba.druid.filter.wall;
package com.alibaba.druid.wall;
public interface Violation {
@@ -1,11 +1,11 @@
package com.alibaba.druid.filter.wall;
package com.alibaba.druid.wall;
import static com.alibaba.druid.filter.wall.spi.WallVisitorUtils.loadResource;
import static com.alibaba.druid.wall.spi.WallVisitorUtils.loadResource;
import java.util.HashSet;
import java.util.Set;
import com.alibaba.druid.filter.wall.spi.WallVisitorUtils;
import com.alibaba.druid.wall.spi.WallVisitorUtils;
public class WallConfig {
@@ -1,4 +1,4 @@
package com.alibaba.druid.filter.wall;
package com.alibaba.druid.wall;
import java.sql.SQLException;
import java.util.List;
@@ -7,9 +7,6 @@ import java.util.Properties;
import com.alibaba.druid.DruidRuntimeException;
import com.alibaba.druid.filter.FilterAdapter;
import com.alibaba.druid.filter.FilterChain;
import com.alibaba.druid.filter.wall.spi.MySqlWallProvider;
import com.alibaba.druid.filter.wall.spi.OracleWallProvider;
import com.alibaba.druid.filter.wall.spi.SQLServerProvider;
import com.alibaba.druid.logging.Log;
import com.alibaba.druid.logging.LogFactory;
import com.alibaba.druid.proxy.jdbc.CallableStatementProxy;
@@ -19,6 +16,9 @@ import com.alibaba.druid.proxy.jdbc.PreparedStatementProxy;
import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
import com.alibaba.druid.proxy.jdbc.StatementProxy;
import com.alibaba.druid.util.JdbcUtils;
import com.alibaba.druid.wall.spi.MySqlWallProvider;
import com.alibaba.druid.wall.spi.OracleWallProvider;
import com.alibaba.druid.wall.spi.SQLServerProvider;
public class WallFilter extends FilterAdapter {
@@ -1,4 +1,4 @@
package com.alibaba.druid.filter.wall;
package com.alibaba.druid.wall;
import java.util.ArrayList;
import java.util.Collections;
@@ -1,4 +1,4 @@
package com.alibaba.druid.filter.wall;
package com.alibaba.druid.wall;
public class WallRuntimeException extends RuntimeException {
@@ -1,4 +1,4 @@
package com.alibaba.druid.filter.wall;
package com.alibaba.druid.wall;
import java.sql.SQLException;
@@ -1,8 +1,8 @@
package com.alibaba.druid.filter.wall;
package com.alibaba.druid.wall;
import com.alibaba.druid.filter.wall.spi.MySqlWallProvider;
import com.alibaba.druid.filter.wall.spi.OracleWallProvider;
import com.alibaba.druid.filter.wall.spi.SQLServerProvider;
import com.alibaba.druid.wall.spi.MySqlWallProvider;
import com.alibaba.druid.wall.spi.OracleWallProvider;
import com.alibaba.druid.wall.spi.SQLServerProvider;
public class WallUtils {
@@ -1,4 +1,4 @@
package com.alibaba.druid.filter.wall;
package com.alibaba.druid.wall;
import java.util.List;
@@ -1,10 +1,10 @@
package com.alibaba.druid.filter.wall.spi;
package com.alibaba.druid.wall.spi;
import com.alibaba.druid.filter.wall.WallConfig;
import com.alibaba.druid.filter.wall.WallProvider;
import com.alibaba.druid.filter.wall.WallVisitor;
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
import com.alibaba.druid.sql.parser.SQLStatementParser;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallProvider;
import com.alibaba.druid.wall.WallVisitor;
public class MySqlWallProvider extends WallProvider {
@@ -1,12 +1,8 @@
package com.alibaba.druid.filter.wall.spi;
package com.alibaba.druid.wall.spi;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.filter.wall.IllegalSQLObjectViolation;
import com.alibaba.druid.filter.wall.Violation;
import com.alibaba.druid.filter.wall.WallConfig;
import com.alibaba.druid.filter.wall.WallVisitor;
import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.SQLObject;
@@ -33,6 +29,10 @@ import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectQueryBlock;
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectQueryBlock.Limit;
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitorAdapter;
import com.alibaba.druid.wall.IllegalSQLObjectViolation;
import com.alibaba.druid.wall.Violation;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallVisitor;
public class MySqlWallVisitor extends MySqlASTVisitorAdapter implements WallVisitor, MySqlASTVisitor {
@@ -1,10 +1,10 @@
package com.alibaba.druid.filter.wall.spi;
package com.alibaba.druid.wall.spi;
import com.alibaba.druid.filter.wall.WallConfig;
import com.alibaba.druid.filter.wall.WallProvider;
import com.alibaba.druid.filter.wall.WallVisitor;
import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser;
import com.alibaba.druid.sql.parser.SQLStatementParser;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallProvider;
import com.alibaba.druid.wall.WallVisitor;
public class OracleWallProvider extends WallProvider {
@@ -1,12 +1,8 @@
package com.alibaba.druid.filter.wall.spi;
package com.alibaba.druid.wall.spi;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.filter.wall.IllegalSQLObjectViolation;
import com.alibaba.druid.filter.wall.Violation;
import com.alibaba.druid.filter.wall.WallConfig;
import com.alibaba.druid.filter.wall.WallVisitor;
import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.SQLObject;
@@ -32,6 +28,10 @@ import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectQueryBlock;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelectTableReference;
import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleUpdateStatement;
import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVIsitorAdapter;
import com.alibaba.druid.wall.IllegalSQLObjectViolation;
import com.alibaba.druid.wall.Violation;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallVisitor;
public class OracleWallVisitor extends OracleASTVIsitorAdapter implements WallVisitor {
@@ -1,10 +1,10 @@
package com.alibaba.druid.filter.wall.spi;
package com.alibaba.druid.wall.spi;
import com.alibaba.druid.filter.wall.WallConfig;
import com.alibaba.druid.filter.wall.WallProvider;
import com.alibaba.druid.filter.wall.WallVisitor;
import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerStatementParser;
import com.alibaba.druid.sql.parser.SQLStatementParser;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallProvider;
import com.alibaba.druid.wall.WallVisitor;
/**
* SQLServerProvider
@@ -1,12 +1,8 @@
package com.alibaba.druid.filter.wall.spi;
package com.alibaba.druid.wall.spi;
import java.util.ArrayList;
import java.util.List;
import com.alibaba.druid.filter.wall.IllegalSQLObjectViolation;
import com.alibaba.druid.filter.wall.Violation;
import com.alibaba.druid.filter.wall.WallConfig;
import com.alibaba.druid.filter.wall.WallVisitor;
import com.alibaba.druid.sql.SQLUtils;
import com.alibaba.druid.sql.ast.SQLName;
import com.alibaba.druid.sql.ast.SQLObject;
@@ -26,6 +22,10 @@ import com.alibaba.druid.sql.ast.statement.SQLUnionQuery;
import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
import com.alibaba.druid.sql.dialect.sqlserver.visitor.SQLServerASTVisitor;
import com.alibaba.druid.sql.dialect.sqlserver.visitor.SQLServerASTVisitorAdapter;
import com.alibaba.druid.wall.IllegalSQLObjectViolation;
import com.alibaba.druid.wall.Violation;
import com.alibaba.druid.wall.WallConfig;
import com.alibaba.druid.wall.WallVisitor;
public class SQLServerWallVisitor extends SQLServerASTVisitorAdapter implements WallVisitor, SQLServerASTVisitor{
@@ -1,4 +1,4 @@
package com.alibaba.druid.filter.wall.spi;
package com.alibaba.druid.wall.spi;
import java.io.BufferedReader;
import java.io.IOException;
@@ -8,8 +8,6 @@ import java.net.URL;
import java.util.Enumeration;
import java.util.Set;
import com.alibaba.druid.filter.wall.IllegalSQLObjectViolation;
import com.alibaba.druid.filter.wall.WallVisitor;
import com.alibaba.druid.logging.Log;
import com.alibaba.druid.logging.LogFactory;
import com.alibaba.druid.sql.ast.SQLExpr;
@@ -41,6 +39,8 @@ import com.alibaba.druid.sql.ast.statement.SQLUnionQuery;
import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement;
import com.alibaba.druid.sql.dialect.mysql.ast.expr.MySqlBooleanExpr;
import com.alibaba.druid.util.JdbcUtils;
import com.alibaba.druid.wall.IllegalSQLObjectViolation;
import com.alibaba.druid.wall.WallVisitor;
public class WallVisitorUtils {