mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve WallFilter
This commit is contained in:
@@ -51,6 +51,8 @@ public class WallConfig implements WallConfigMBean {
|
||||
|
||||
private boolean commentAllow = false;
|
||||
|
||||
private boolean describeAllow = false;
|
||||
|
||||
private boolean schemaCheck = true;
|
||||
private boolean tableCheck = true;
|
||||
private boolean functionCheck = true;
|
||||
@@ -173,6 +175,24 @@ public class WallConfig implements WallConfigMBean {
|
||||
this.noneBaseStatementAllow = noneBaseStatementAllow;
|
||||
}
|
||||
|
||||
/**
|
||||
* allow mysql describe statement
|
||||
* @since 0.2.10
|
||||
* @return
|
||||
*/
|
||||
public boolean isDescribeAllow() {
|
||||
return describeAllow;
|
||||
}
|
||||
|
||||
/**
|
||||
* set allow mysql describe statement
|
||||
* @since 0.2.10
|
||||
* @return
|
||||
*/
|
||||
public void setDescribeAllow(boolean describeAllow) {
|
||||
this.describeAllow = describeAllow;
|
||||
}
|
||||
|
||||
public boolean isTruncateAllow() {
|
||||
return truncateAllow;
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@ 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.MySqlOutFileExpr;
|
||||
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlDeleteStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlDescribeStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlInsertStatement;
|
||||
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectGroupBy;
|
||||
import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectQueryBlock;
|
||||
@@ -259,6 +260,8 @@ public class MySqlWallVisitor extends MySqlASTVisitorAdapter implements WallVisi
|
||||
allow = true;
|
||||
} else if (x instanceof SQLTruncateStatement) {
|
||||
allow = config.isTruncateAllow();
|
||||
} else if (x instanceof MySqlDescribeStatement) {
|
||||
allow = config.isDescribeAllow();
|
||||
}
|
||||
|
||||
if (!allow) {
|
||||
|
||||
Reference in New Issue
Block a user