Spring 处理RESTful请求时处理转义url

Spring 处理RESTful请求时处理转义url,spring,api,rest,tomcat,jersey,Spring,Api,Rest,Tomcat,Jersey,使用 1.雄猫 2.春泽西一体化 路径中的一个uri片段包含“/”,我用%2f替换它,从而正确地对其进行了转义。但是,请求从未正确地到达我的请求处理器 示例URI /人员/坏人标识符%2FACD 一个人的唯一标识符可能是“bad\u person\u identifier/abcd”正确的/is%2f标识符是tomcat 6.x的问题 解决方案: 设置启动tmcat的系统属性 org.apache.tomcat.util.buf.udeconder.ALLOW_ENCODED_斜杠:true 发

使用 1.雄猫 2.春泽西一体化

路径中的一个uri片段包含“/”,我用%2f替换它,从而正确地对其进行了转义。但是,请求从未正确地到达我的请求处理器

示例URI

/人员/坏人标识符%2FACD


一个人的唯一标识符可能是“bad\u person\u identifier/abcd”

正确的/is
%2f

标识符是tomcat 6.x的问题

解决方案: 设置启动tmcat的系统属性 org.apache.tomcat.util.buf.udeconder.ALLOW_ENCODED_斜杠:true

发行详情:

在ApacheTomcat6.0.10中修复

重要提示:目录遍历CVE-2007-0450

Tomcat允许“\”、“%2F”和“%5C”作为路径分隔符。当Tomcat在配置为仅代理某些上下文的代理(包括但不限于带有mod_proxy和mod_jk的Apache HTTP服务器)后面使用时,包含“/…/”等字符串的HTTP请求可能允许攻击者绕过代理的上下文限制,并访问非代理上下文

Tomcat中添加了以下Java系统属性,以提供对URL中路径分隔符处理的额外控制(两个选项都默认为false):

org.apache.tomcat.util.buf.udeconder.ALLOW_ENCODED_SLASH:true | false org.apache.catalina.connector.CoyoteAdapter.ALLOW_反斜杠:true | false 由于无法保证所有URL都像在代理服务器中一样由Tomcat处理,因此Tomcat应该始终受到保护,就像没有使用限制上下文访问的代理一样


影响:6.0.0-6.0.9

此方法适用于jersey grizzly服务器,但不适用于tomcatEscaped where?浏览器或Java服务器代码中的URL?好的,我错过了“f”。那是问题中的一个错误。我现在已经纠正了这个问题。