Tomcat 8.5:允许反斜杠

Tomcat 8.5:允许反斜杠,tomcat,tomcat8,Tomcat,Tomcat8,我正在配置NetIQ IDAM,NetIQ IDAM的一个组件即用户应用程序运行在预配置的Tomcat 8.5.x上。用户应用程序具有一些预定义的功能,可以在URL中强制使用反斜杠,但tomcat将阻止URL中的黑斜杠作为安全措施 我尝试使用以下选项: -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLAS

我正在配置NetIQ IDAM,NetIQ IDAM的一个组件即用户应用程序运行在预配置的Tomcat 8.5.x上。用户应用程序具有一些预定义的功能,可以在URL中强制使用反斜杠,但tomcat将阻止URL中的黑斜杠作为安全措施

我尝试使用以下选项:

-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
-Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true
但是没有用

由于部分组件是不可自定义的,所以除了以某种方式配置tomcat以允许URL中的反斜杠外,我没有其他选择

有什么建议我该如何做到这一点


示例HTTP请求:?targetName=abc@xyz\.com

客户端已损坏。在查询字符串中使用时,RFC 7230和RFC 3986要求对
\
字符进行%nn编码

通常,Tomcat社区实现规范,并将任何不符合规范的行为视为bug。Tomcat社区希望其他开发人员社区也这样做

不幸的是,浏览器供应商选择忽略RFC 7230和RFC 3986的%nn编码要求,尽管声称按照自己的规范工作,最终结果是每个主要浏览器%nn编码需要编码的字符的不同子集

好消息是,由于这种混乱,Tomcat 9.0.8、8.5.21、8.0.52和7.0.87将引入(当我键入此内容时,这些版本仍在投票中)选项,允许在URI路径和/或查询字符串中直接使用字符,而无需%nn编码


一旦这些版本可用,您就可以将Tomcat配置为接受查询字符串中的
\
。同时,我建议对不符合规范的客户提出一个bug。最好有一个工作正常的客户机,这样您就可以在Tomcat中停止工作。

客户机坏了。在查询字符串中使用时,RFC 7230和RFC 3986要求对
\
字符进行%nn编码

通常,Tomcat社区实现规范,并将任何不符合规范的行为视为bug。Tomcat社区希望其他开发人员社区也这样做

不幸的是,浏览器供应商选择忽略RFC 7230和RFC 3986的%nn编码要求,尽管声称按照自己的规范工作,最终结果是每个主要浏览器%nn编码需要编码的字符的不同子集

好消息是,由于这种混乱,Tomcat 9.0.8、8.5.21、8.0.52和7.0.87将引入(当我键入此内容时,这些版本仍在投票中)选项,允许在URI路径和/或查询字符串中直接使用字符,而无需%nn编码

一旦这些版本可用,您就可以将Tomcat配置为接受查询字符串中的
\
。同时,我建议对不符合规范的客户提出一个bug。最好有一个工作正常的客户机,这样就可以在Tomcat中轻松完成工作。

请参阅