druid-springboot-starter默认启用内置监控页面,且不开启任何安全措施,如登录页面、访问IP等。
@ConditionalOnProperty(name = "spring.datasource.druid.stat-view-servlet.enabled", havingValue = "true", matchIfMissing = true) public class DruidStatViewServletConfiguration {}
@ConditionalOnProperty(name = "spring.datasource.druid.web-stat-filter.enabled", havingValue = "true", matchIfMissing = true) public class DruidWebStatFilterConfiguration {}
可能产生的后果 开发不注意,导致监控页面在公网露出,监控页面中包含:DB的IP、用户名、库名、表名、字段名及字段值等,进而导致信息泄露。 建议 禁用监控页面 如果禁用监控页面StatFilter注册感觉也是多余的,可以等用户需要配置日志、慢sql的时候,再启用
@Bean
@ConfigurationProperties(FILTER_STAT_PREFIX)
@ConditionalOnProperty(prefix = FILTER_STAT_PREFIX, name = "enabled", matchIfMissing = true)
@ConditionalOnMissingBean
public StatFilter statFilter() {
return new StatFilter();
}
原提问者GitHub用户ghost
你可以通过在Spring Boot的application.properties或application.yml配置文件中设置以下属性来禁用Druid数据源的stat-view监视页面:
如果你使用的是application.properties,你可以添加以下行:
properties
Copy
spring.datasource.druid.stat-view-servlet.enabled=false
如果你使用的是application.yml,你可以添加以下配置:
yaml
Copy
spring:
datasource:
druid:
stat-view-servlet:
enabled: false
这些配置禁用了Druid的StatViewServlet,这个servlet用于显示Druid的统计信息。禁用后,你将无法通过Web界面访问Druid的数据库连接和SQL统计信息,从而可以防止数据库信息的泄露。
问题已修复,请用新版本 https://github.com/alibaba/druid/releases/tag/1.1.14
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。