type
status
date
slug
summary
tags
category
icon
password
背景
近期,在系统进行三方检测时,会进行web扫描检测安全性。被检测到swagger-ui的不安全。根据调研,经验发现,即使按照以下方案处理,三方检测还是能检测到。
无法达到目的的方案
方案1
在swagger的配置文件中加上
方案2
在swagger增加上Authorize也不行,还是能扫出来
方案3
删除swagger!!!!那工作量就大了去了,不嫌麻烦的可以试试。强烈不建议使用此方法。
检验方式
根据三方检测提供的资料,从蛛丝马迹中可以发现,使用如下命令,在浏览器中访问到参数,三方检测就会认为不安全。

解决方案
增加knife4j增强方案
pom引入依赖
swagger2
如果系统引入的是swagger2,就引入knife4j2的版本(找最新版本引入,以下版本截止2023年9月8日,如果出现不兼容,就降版本兼容)
如果springfox版本为2.0.9,那就用
swagger3
如果系统引入的是swagger3,就引入knife4j3的版本(找最新版本引入,以下版本截止2023年9月8日)
swagger配置类
在swagger的配置类上,增加注解,启动knife4j增强。(如果没有配置类,那就在@EnableSwager2的注解下面加)
yml中增加
在系统的配置文件yml(或properties)中增加
效果
按照上面的方式进行配置后,当访问swagger的页面,会显示

题外话
增加knife4j增强后,可访问{ip:port}/doc.html,访问到增强的swagger-ui页面,类似postman、apifox的页面,可以尝试,很好用!


- 作者:Doubletree
- 链接:https://blog.doubletree.fun/article/3e2ae22a-b014-4788-8b2b-fc2078c8290c
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。