文档章节

解决Invalid character found in the request target. The valid characters are defined in RFC 7230 and RF

卢磊磊
 卢磊磊
发布于 2017/07/20 14:42
字数 307
阅读 604
收藏 0

tomcat的get请求中出现特殊字符:|,{}等,解决的办法,测试了7.0.73版本,修改catalina.properties,但是并不成功。最后还是使用低版本的,希望有其他方法的同学找到好办法告知。

比较好的解释:

(1)http://blog.cangzhitao.com/post/exception/Invalid-character-found-in-the-request-target.htm

(2)

通过这里的回答,我们可以知道:

Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。

具体来说,就是添加了些规则去限制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=|{}

 

当然还有另外一种方法,就是将所有的参数都进行编码

本文转载自:http://www.cnblogs.com/hark0623/p/6977737.html

共有 人打赏支持
卢磊磊
粉丝 0
博文 94
码字总数 16037
作品 0
昌平
程序员
私信 提问
遇到一个问题,标记下

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986...

mifans
2016/11/18
245
1
tomcat报错Error parsing HTTP request header

tomcat 7.0.75,jdk1.7.0.80,运行中报错Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 tomcat配置:...

Mr-想
2017/02/23
17.3K
3
tomcat报错

Oct 10, 2018 2:42:31 PM org.apache.coyote.http11.AbstractHttp11Processor process INFO: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors ......

真的好想抱抱你
2018/10/10
40
0
Invalid character found in the request target. The valid characters are defined in RFC 3986

问题描述 请求参数含有特殊字符时后台报这个错误: 查了资料原因是 Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 安全定义 安全字符 英文字母 : a-zA-Z 数字 : 0-9 特殊...

ol_O_O_lo
2018/12/03
0
0
【linux】tomcat新版本特性引发的url问题

通过我们的测试,在tomcat7.0.73版本以上都会出现下列描述的问题。 1、测试报错: Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.Ill...

anank
2018/07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

tac 与cat

tac从后往前看文件,结合grep使用

writeademo
37分钟前
2
0
表单中readonly和dsabled的区别

这两种写法都会使显示出来的文本框不能输入文字, 但disabled会使文本框变灰,而且通过通过表单提交时,获取不到文本框中的value值(如果有的话), 而readonly只是使文本框不能输入,外观没...

少年已不再年少
58分钟前
2
0
SpringBoot上传图片操作

首先有个上传文件的工具类 /** * 文件上传 * @param file * @param filePath * @param fileName * @throws Exception */public static void uploadFile(byte[] file, String ...

_liucui_
今天
6
0
DrawerLayout

public class MainActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener,OnFragmentInteractionListener{ public NavigationView navView; ......

安卓工程师王恒
今天
2
0
python精简笔记

python精简笔记-字符串基本用法 字符串常见用法: * encode() # 编码成bytes类型 * find() # 查找子串 * index() # 获取下标 * replace() # 替换子串 * len(string) # 返回字符串长度,...

平头哥-Enjoystudy
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部