首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat8.5:允许BackSlash

Tomcat8.5:允许BackSlash
EN

Stack Overflow用户
提问于 2018-04-30 06:59:20
回答 1查看 1.5K关注 0票数 0

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

我试过使用以下选项:

代码语言:javascript
复制
-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

EN

回答 1

Stack Overflow用户

发布于 2018-04-30 19:35:11

客户已经破产了。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来接受查询字符串中的\。同时,我建议对客户端提出一个错误,因为它不符合规范。最好有一个正常工作的客户端,这样你就可以放弃Tomcat的工作了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50095419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档