使用阿里druid关闭stat-view-servlet,和swagger-ui.html不可用

关闭阿里druid的stat-view,和swagger-ui.html不可用

一、问题描述

(1)druid

使用阿里druid的作为数据源的配置,还配置了stat-view-servlet,导致线上项目被扫描出未授权访问漏洞。简单来说就是druid/spring.html,这个页面可以直接访问,展示项目相关信息。

(2)swagger

使用swagger也是同样的问题,swagger在开发的时候方便的,但是上线的时候忘记给取消了。直接就可以访问/swagger-ui.html;

二、解决办法

(1)druid
spring:
  datasource:
  	druid:
  	   stat-view-servlet:
       	 enabled: false
#        url-pattern: /druid/*

我是这样的,直接把enabled改为了false,然后把地址直接给注释了。哈哈哈哈哈。
再直接访问就404了

(2)swagger
@Value("${swagger.enable}")
    private Boolean enable;

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .enable(enable);
    }

swagger.enable 这个自行在配置文件里加上哦,主要就是Docket 里面的那个enable(enable)了。无关的我没在此处展示。


但是有个小问题,这样其实也满足要求了在这里插入图片描述
不过领导要求展示404。
我反手就是WebMvcConfigurer 给他来一套

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Value("${swagger.enable}")
    private Boolean enable;

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        if (!enable){
            registry.addViewController("/swagger-ui.html").setViewName("404");
        }

    }
}

在这里插入图片描述
现在就ok了

三、有用记得点赞收藏啊

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值