码迷,mamicode.com
首页 > 其他好文 > 详细

【问题】Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 问题

时间:2019-01-03 23:08:23      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:overflow   tac   斜杠   参考   ali   invalid   解决办法   cte   efi   

具体来说,就是添加了些规则去限制HTTP头的规范性

参考这里

具体来说:

org.apache.tomcat.util.http.parser.HttpParser#IS_NOT_REQUEST_TARGET[]中定义了一堆not request target

if(IS_CONTROL[i] || i > 127 || i == 32 || i == 34 || i == 35 || i == 60 || i == 62 || i == 92 || i == 94 || i == 96 || i == 123 || i == 124 || i == 125) {
                IS_NOT_REQUEST_TARGET[i] = true;
            }

转换过来就是以下字符(对应10进制ASCII看):

  • 键盘上那些控制键:(<32或者=127)
  • 非英文字符(>127)
  • 空格(32)
  • 双引号(34)
  • #(35)
  • <(60)
  • >(62)
  • 反斜杠(92)
  • ^(94)
  • TAB上面那个键,我也不晓得嫩个读(96)
  • {(123)
  • }(124)
  • |(125)

解决办法:

还是参考这里

即:

配置tomcat的catalina.properties

添加或者修改:

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

重启tomcat即可

【问题】Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 问题

标签:overflow   tac   斜杠   参考   ali   invalid   解决办法   cte   efi   

原文地址:https://www.cnblogs.com/windbag7/p/10217399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!