-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
4.2.0 wall过滤器配置multi-statement-allow: true不起作用 #640
Comments
以下为mybatis执行的语句
|
另外,配置文件中我只配置了master数据源,其他数据源通过JDBC的方式在启动时进行加载 |
源头应该是DsConfigUtil的getSetterMethods,只获取了当前类的set get方法,没有读取到父类的get set |
multi-statement-allow 属性放的位置不对 spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
stat-view-servlet:
enabled: true
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username: admin
login-password: admin123
reset-enable: true
web-stat-filter:
enabled: true
# 排除资源
exclusions: .js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*
# 开启session统计
session-stat-enable: true
# session统计的最大个数
session-stat-max-count: 100
# 过滤路径
url-pattern: /*
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 5000
merge-sql: true
wall:
enabled: true
config:
multi-statement-allow: true
drop-table-allow: false
dynamic:
# 主数据源
primary: master
# 严格模式
strict: false
# 懒加载
lazy: true
datasource:
master:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://${AMS_HOST:ams-host}:${AMS_PORT:3306}/newlight?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
username: ${MYSQL_USER:test}
password: ${MYSQL_PWD:test@123}
druid:
validation-query: select 1
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 6000
# 配置连接超时时间
connectTimeout: 30000
# 配置网络超时时间
socketTimeout: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 2000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 600000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
filters: stat,wall,slf4j
wall:
enabled: true
config:
multi-statement-allow: true
drop-table-allow: false |
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Enviroment
JDK Version(required): 1.8
SpringBoot Version(required): 2.5
dynamic-datasource-spring-boot-starter Version(required): 4.2
druid Version(optional): 1.2.16
Describe what happened
您好,请问wall过滤器中如何允许多重语句的执行,也就是multi-statement-allow 我试过在spring.datasource.druid.filter.wall下面配置,或者在spring.datasource.dynamic.druid.wall下面配置,以及都进行配置,均不起作用,执行多重语句时仍然出现报错,
Cause: java.sql.SQLException: sql injection violation, dbType mysql, druid-version 1.2.16, multi-statement not allow
jdbc连接中也配置了allowMultiQueries=true
yml
The text was updated successfully, but these errors were encountered: