From f5dd23f2789380f134b984a2a10dfd82db953edd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=93=81?= Date: Wed, 7 Oct 2020 00:48:01 +0800 Subject: [PATCH] add more wall error info --- .../com/alibaba/druid/wall/WallFilter.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/alibaba/druid/wall/WallFilter.java b/src/main/java/com/alibaba/druid/wall/WallFilter.java index 0c9a22e65d..1510f01b61 100644 --- a/src/main/java/com/alibaba/druid/wall/WallFilter.java +++ b/src/main/java/com/alibaba/druid/wall/WallFilter.java @@ -41,6 +41,7 @@ import java.util.Properties; import java.util.Set; import com.alibaba.druid.DbType; +import com.alibaba.druid.VERSION; import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.proxy.jdbc.CallableStatementProxy; @@ -822,16 +823,32 @@ public class WallFilter extends FilterAdapter implements WallFilterMBean { if (violations.size() > 0) { Violation firstViolation = violations.get(0); if (isLogViolation()) { - LOG.error("sql injection violation, " + firstViolation.getMessage() + " : " + sql); + LOG.error("sql injection violation, dbType " + + getDbType() + + ", druid-version " + + VERSION.getVersionNumber() + + ", " + + firstViolation.getMessage() + " : " + sql); } if (throwException) { if (violations.get(0) instanceof SyntaxErrorViolation) { SyntaxErrorViolation violation = (SyntaxErrorViolation) violations.get(0); - throw new SQLException("sql injection violation, " + firstViolation.getMessage() + " : " + sql, + throw new SQLException("sql injection violation, dbType " + + getDbType() + ", " + + ", druid-version " + + VERSION.getVersionNumber() + + ", " + + firstViolation.getMessage() + " : " + sql, violation.getException()); } else { - throw new SQLException("sql injection violation, " + firstViolation.getMessage() + " : " + sql); + throw new SQLException("sql injection violation, dbType " + + getDbType() + + ", druid-version " + + VERSION.getVersionNumber() + + ", " + + firstViolation.getMessage() + + " : " + sql); } } }