GetMapping 请求带特殊字符(| ^ {}) 非xss配置问题

Blade 未结 1 968
pourquoi
pourquoi 剑童 2021-09-15 11:07

一、该问题的重现步骤是什么?

  1. 在get请求参数中加| ^等特殊字符,会返回400的错误,原因是因为tomcat安全机制,根据资料可以设置tomcat连接器来增加对特殊字符的支持,但现在有一个问题,在Service中增加了这个配置,是可以用的,但是把配置增加到gateway服务中,还是报400,原因是在注入bean的时候,tomcat先启动,所以没有加载到我们自定义的连接器,如图:

bean注入:

image.png


在service启动服务,可以支持特殊字符

image.png

但在gateway这里则报错:

image.png

原因就是gateway在启动的时候没有加载到我们自定义的connector


二、你期待的结果是什么?实际看到的又是什么?

虽然这个是tomcat修复的漏洞,但还是希望Getmapping能支持这类特殊字符


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

blade,2.7.0,windows


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 2021-09-15 11:30

    gateway是基于webflux的,不一样

    作者追问:2021-09-15 11:44

    那这个貌似没有解决方案了,我看网上都是改源码来解决的

    0 讨论(0)
提交回复