当前位置: 首页 > wzjs >正文

wordpress后台登录seo链接优化建议

wordpress后台登录,seo链接优化建议,网站建设专业培训,东莞企业营销型网站建设一、背景 漏洞名称:Swagger API 未授权访问漏洞【原理扫描】 风险等级:中 详细描述: Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,方便开发者快速了解和调试接口。但由于…

一、背景

漏洞名称:Swagger API 未授权访问漏洞【原理扫描】
风险等级:中

详细描述
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,方便开发者快速了解和调试接口。但由于其文档默认公开在 Web 路径下,未经授权的用户也能访问,从而可能泄露接口信息,甚至造成未授权访问、任意文件读取等安全风险。

参考链接: https://www.sec-in.com/article/476

解决办法:

  1. 在生产环境中禁用 Swagger。
  2. 配置 Spring Security/Shiro 权限控制,限制 Swagger UI 相关 URL 的访问。
  3. 使用 nginx 或过滤器对相关接口进行访问控制。

二、问题分析与复现

部署的微服务项目中,访问 http://ip:port/swagger-resources 时,可以直接获取所有服务的 Swagger 接口信息。这说明接口文档未做访问权限控制,Swagger 相关接口在生产环境依然暴露,存在严重安全隐患。

项目架构使用了 spring-cloud-gateway 聚合多个微服务的 Swagger 接口,同时也集成了 swagger2(2.9.2)knife4j(2.0.9)。默认配置下,以下路径均可被外部访问:

  • /swagger-ui.html
  • /swagger-resources
  • /v2/api-docs
  • /doc.html

三、尝试过的禁用方法(未成功)

方法 1:使用 @Profile({"dev","test"}) 注解

这种方式理论上可以控制 Swagger 配置类仅在开发或测试环境启用,但项目中 Swagger 路由配置是通过 RouterFunction 实现的,不是常规的 Docket Bean 配置,导致 @Profile 注解未能控制实际路由注册,所以是无效滴。

方法 2:使用 @ConditionalOnProperty

通过设置:

@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")

配合配置文件启用:

swagger:enable: true

该控制同样只适用于基于 Docket 的 Swagger 配置类,无法影响 RouterFunction 中对 Swagger 接口的路由注册,所以这种方式还是无效滴。

方法 3:自定义权限拦截 Swagger 接口路径

尝试使用 Spring Security 拦截 /swagger-ui.html/v2/api-docs 等路径,由于网关层的路由是通过 RouterFunction 注册的,绕过了 Spring Security 的传统 filter 链,权限控制并未生效,还是没解决 …

@Override
protected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/swagger-ui.html", "/swagger-resources/**", "/v2/api-docs").hasRole("ADMIN").anyRequest().authenticated();
}

四、最终解决方案

结合实际架构,最终采用了配置开关 + 路由控制的方式。

修改 RouterFunctionConfiguration 代码

@Slf4j
@Configuration
@RequiredArgsConstructor
public class RouterFunctionConfiguration {private final ImageCodeCheckHandler imageCodeCheckHandler;private final ImageCodeCreateHandler imageCodeCreateHandler;private final SwaggerResourceHandler swaggerResourceHandler;private final SwaggerSecurityHandler swaggerSecurityHandler;private final SwaggerUiHandler swaggerUiHandler;@Value("${swagger.use-flag:false}")private boolean useFlag;@Beanpublic RouterFunction<ServerResponse> routerFunction() {RouterFunctions.Builder routerBuilder = RouterFunctions.route().route(RequestPredicates.path("/xxx/xxx").and(RequestPredicates.accept(MediaType.TEXT_PLAIN)),imageCodeCreateHandler).andRoute(RequestPredicates.POST("/xxx/xxx").and(RequestPredicates.accept(MediaType.ALL)),imageCodeCheckHandler);if (useFlag) {routerBuilder.andRoute(RequestPredicates.GET("/swagger-resources").and(RequestPredicates.accept(MediaType.ALL)),swaggerResourceHandler).andRoute(RequestPredicates.GET("/swagger-resources/configuration/ui").and(RequestPredicates.accept(MediaType.ALL)),swaggerUiHandler).andRoute(RequestPredicates.GET("/swagger-resources/configuration/security").and(RequestPredicates.accept(MediaType.ALL)),swaggerSecurityHandler);}return routerBuilder.build();}
}

配置文件 application-xxx.yml(使用的是 nacos 配置中心)

knife4j:# 开启增强配置enable: false# 启用生产环境屏蔽production: trueswagger:use-flag: falsetitle: EmpX Swagger API# .....

其中:

  • knife4j.enable: false 禁用 Knife4j 前端增强功能
  • knife4j.production: true 屏蔽生产环境访问
  • swagger.use-flag: false 控制是否注册 Swagger 路由

验证:

gateway 项目部署后,访问以下路径均返回 404,Swagger 接口已彻底关闭:

  • /swagger-ui.html
  • /swagger-resources
  • /v2/api-docs
  • /doc.html

所以还是要根据实际的项目架构来调整,不一定是提供的方法不好用,可能是没用对或者根本就不适用…

http://www.dtcms.com/wzjs/259038.html

相关文章:

  • 淄博周村专业网站建设公司网页设计费用报价
  • 浏览器打开苏州seo怎么做
  • 武汉个人做网站广州网页制作
  • wordpress 商城安全南宁seo排名外包
  • 自助网站东莞网站建设推广哪家好
  • php网站如何做多语言请简述网络营销的特点
  • wordpress 站点维护广东seo网站优化公司
  • 做网站代理需要办什么营业执照b站推广怎么买
  • 自己建免费网站做外贸怎么推广
  • 外贸网站设计市场调研报告范文大全
  • 网站开发国内外研究动态网站做seo教程
  • 制作绘本怎么做简易长沙排名优化公司
  • 返利网站程序郑州优化网站公司
  • 淘宝接网站开发的活十大网络营销经典案例
  • b2c电子商务网站需求推广网站模板
  • 兰州网站优化可以免费发广告的网站
  • 北京服饰网站建设nba最新消息新闻报道
  • 建一个公司网站要多少钱武汉千锋教育培训机构怎么样
  • dreamweaver个人网站模板下载信阳网站推广公司
  • 小百姓这个网站谁做的微信怎么做推广
  • 怎么免费网做百度收录的网站大数据营销案例分析
  • 做p2p投资理财的网站企业网络营销系统分析报告
  • 做网站要自己租服务器吗抖音搜索关键词排名
  • 如何用word做网站地图网站建设的系统流程图
  • 滨海网站建设公司seo网站优化方案案例
  • 沌口做网站seo优化上海牛巨微
  • 东莞网站建设团队全网天下外贸网站都有哪些
  • 深圳网站建站建设公司地址今日山东新闻头条
  • 资料网站模板沈阳cms模板建站
  • wordpress 上传 重命名网站如何做优化推广