From 5ff70a80ef79ab0521fb83536189854e6ef68594 Mon Sep 17 00:00:00 2001 From: Yako Date: Thu, 6 Nov 2014 17:23:33 +0800 Subject: [PATCH] sqlwall improve --- .../alibaba/druid/wall/spi/WallVisitorUtils.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java b/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java index 95b9d835db..7e8685443c 100644 --- a/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java +++ b/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java @@ -174,14 +174,21 @@ public class WallVisitorUtils { chrCount++; } } + } else if (item instanceof SQLCharExpr) { + if (((SQLCharExpr) item).getText().length() > 5) { + chrCount = 0; + continue; + } + } + + if (chrCount >= 4) { + addViolation(visitor, ErrorCode.EVIL_CONCAT, "evil concat", x); + break; } - } - if (chrCount >= 4) { - addViolation(visitor, ErrorCode.EVIL_CONCAT, "evil concat", x); } } } - + return true; } @@ -1092,7 +1099,6 @@ public class WallVisitorUtils { return eval(visitor, dbType, x, Collections.emptyList()); } - public static SQLExpr getFirst(SQLExpr x) { if (x instanceof SQLBinaryOpExpr) {