我使用基于mysql 的自定义分布式数据库,开启分布式事务的语句被WallFilter拦截,原因是druid的解析器无法解析,我使用了noneBaseStatementAllow属性但仍然没有效果。报错信息如下:
The error occurred while executing a query
SQL: udal dt start
Cause: java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'dt start', expect IDENTIFIER, actual IDENTIFIER pos 4, line 1, column 5, token IDENTIFIER dt : udal dt start
; uncategorized SQLException; SQL state [null]; error code [0]; sql injection violation, syntax error: syntax error, error in :'dt start', expect IDENTIFIER, actual IDENTIFIER pos 4, line 1, column 5, token IDENTIFIER dt : udal dt start; nested exception is java.sql.SQLException: sql injection violation, syntax error: syntax error, error in :'dt start', expect IDENTIFIER, actual IDENTIFIER pos 4, line 1, column 5, token IDENTIFIER dt : udal dt start
建议druid的防火墙支持单条sql语句的白名单的设置。
暂无答案!
目前还没有任何答案,快来回答吧!