Tomcat 拒绝 URL 编码的“<”和“>”符号

Tomcat rejects URL encoded "<" and ">" symbols

Tomcat 9.0.54 拒绝我的 URL 因为“<”和“>”符号。当以百分比编码形式“%3C”和“%3E”时,它也会拒绝它。我还尝试将 relaxedQueryChars="&lt;&gt;" 添加到 server.xml 中的连接器,但没有用。

当 运行 Bloomreach CMS 时,Tomcat 实例由 Cargo 启动。 URL如下:

http://localhost:8080/site/api/documents?_expr=(hippostdpubwf:lastModificationDate%3Exs:dateTime('2021-04-09T20:56:18.496%2B02:00'))

将 %3E 更改为“=”(%3D) 会使 URL 被 Tomcat 接受。

启动默认 Tomcat docker 时,不会出现此问题。

有没有人遇到过类似的问题或者可以告诉我可以解决这个问题的方向?

编辑: 将“>”替换为“gt”将导致正确的查询,而不必干扰 Jeroen 提到的 XSSUrlFilter。

看起来您正在点击 org.hippoecm.hst.container.XSSUrlFilter,该 org.hippoecm.hst.container.XSSUrlFilter 默认存在于网站 webapp 的 web.xml 中。

这是一个简单的、可扩展的过滤器,可以防止基本的脚本攻击。 问候, 耶伦

PS 您可能喜欢 community.bloomreach.com

的论坛