gpt4 book ai didi

Tomcat 8.5 : Allow BackSlash

转载 作者:行者123 更新时间:2023-11-28 22:39:31 24 4
gpt4 key购买 nike

我正在配置 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 社区会实现规范并将任何不符合规范的行为视为错误。 Tomcat 社区期望其他开发者社区也这样做。

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

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

一旦这些版本可用,您将能够配置 Tomcat 以在查询字符串中接受 \。同时,无论如何,我建议针对不符合规范的客户提出错误。最好有一个正常工作的客户端,这样您就可以放弃 Tomcat 中的解决方法。

关于Tomcat 8.5 : Allow BackSlash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50095419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com