Tomcat 400 错误请求:如何接受 URI 上的

Tomcat 400 错误请求:如何接受 URI 上的

当我将此请求发送到 Tomcat 时,它正在工作

http://example.org/?foo=%3Cbar/%3E

但这一个给出了“400 错误请求

http://example.org/?foo=<bar/>

我确实知道请求格式不正确,客户端的行为也正确,但他们却不知道。他们不遵循 RFC 标准,但我无法改变这一点。我必须处理它。

是否有可能强制 Tomcat 接受这个格式错误的请求?

答案1

一个解决方案是添加relaxedQueryCharsConnectorserver.xml不安全接受的字符有:

<Connector relaxedQueryChars='&lt;&gt;' ... />

由于 '<' 在 server.xml 中用作特殊字符,因此必须使用与号编码 <。

解决方案在这里找到:

https://stackoverflow.com/questions/50361171/how-to-allow-character-in-urls-for-tomcat-8-5

有关限制的更多信息relaxedQueryChars

https://tomcat.apache.org/tomcat-9.0-doc/config/http.html#Standard_Implementation

相关内容