栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Tomcat 8无法处理带有“ |”的获取请求 在查询参数?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tomcat 8无法处理带有“ |”的获取请求 在查询参数?

在所有主要的Tomcat版本中都引入了此行为:

  • Tomcat的 7.0.738.0.398.5.7

要解决此问题,请执行以下一项操作:

  • 设置
    relaxedQueryChars
    为允许使用此字符
  • set
    requestTargetAllow
    选项(在Tomcat 8.5中已弃用)。
  • 您可以降级到较旧的版本之一(不推荐-安全)

基于changelog,这些更改可能会影响此行为:

Tomcat 8.5.3:

确保使用非令牌的HTTP方法名称的请求(RFC 7231要求)被拒绝,并带有400响应

Tomcat 8.5.7:

将其他对有效字符的检查添加到HTTP请求行解析中,以便更快地拒绝无效的请求行。


最好的选择(遵循标准) -您想在客户端上对URL进行编码:

enpreURI("http://localhost:8080/app/handleResponse?msg=name|id|")> http://localhost:8080/app/handleResponse?msg=name%7Cid%7C

或只是查询字符串:

enpreURIComponent("msg=name|id|")> msg%3Dname%7Cid%7C

它将保护您免受其他有问题的字符(无效URI字符列表)的侵害



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号