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

解决方案:Invalid character found in the request target. The valid characters are defined in RFC 7230 报错信息如下: 从错误日志中看到Error parsing HTTP request header 负责解析http请求的是org.apache.tomcat.util.http.parser.HttpParser,它对请求对URL中对字符做了限制,具体代码如下: IS_NOT_REQUEST_TARGET[]中定义了一堆not request target 转换过来就是以下字符... 阅读详情

 

问题背景:

为了应对最近Tomcat重大漏洞的解决问题,tomcat8需要升级至最新tomcat8.5.51才可以修复该漏洞,但是我们系统运行在该版本上,会出现一个路径中有异常字符的报错,报错内容如下:

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

 

出现该问题的原因:

Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,在http解析时做了严格限制。

RFC3986文档规定,请求的Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符。

而我们请求地址中由于路径中有特殊符号,导致在默认的情况下,地址的路径写法违反了RFC3986文档规定,导致出现了上述的报错。

 

解决方法:

方案一:

降低tomcat的版本,将相关的tomcat的版本降低到Tomcat在 7.0.73, 8.0.39, 8.5.7 版本前,就可以避免了这个问题,该方法可以一了百了的解决问题,但是问题是很多老版本的tomcat存在重大漏洞,故在本次任务中该方案并不适用。

 

方案二:

到tomcat的conf目录下,找到server.xml文件,

然后在<Connector>标签中假如两个属性,内容如下:

<Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443"

               relaxedPathChars="[]^{|}"

               relaxedQueryChars="[]^{|}"

   />

至此,我们启动tomcat后,进入登录界面,点击登录按钮以后,就不会出现“undefined”的报错了,就可以正常的登录了。

 

解决该问题的依据在tomcat的官网上具有相关的说明,如下图:

               该截图对应的官方地址为:https://tomcat.apache.org/tomcat-8.5-doc/config/http.html

 

 

FineBI制作数据可视化大屏-数据连接(1) 快速上手大屏可视化,FineBI数据连接配置。 阅读详情

相关推荐

昇腾AI处理器Ascend C编程:从C/C++基础到高性能算子开发实战

异构计算是提升AI算力效率的核心技术,通过在CPU之外引入专用处理器(如GPU、NPU)协同工作,实现大规模并行计算。其原理在于将计算密集型任务卸载到专用硬件,利用其高并行架构加速处理。技术价值在于突破传统CPU的算力瓶颈,为深度学习训练与推理提供强大动力,广泛应用于模型部署、科学计算和高性能计算场景。本文聚焦昇腾AI处理器的原生编程语言Ascend C,它基于C/C++标准扩展,通过显式内存管理和任务并行模型,充分发挥达芬奇架构中Cube与Vector单元的性能。针对CANN算子开发,文章详解了从环境搭建

weixin_34411563的博客 368

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

conf/catalina.properties中,找到最后注释掉的一行 #tomcat.util.http.parser.HttpParser.requestTargetAllow=|  ,改成tomcat.util.http.parser.HttpParser.requestTargetAllow=|{},然后去掉这句话的注释。但若是在IE浏览器上进行访问,这个错误还是会出现,在IE上访问出现这个错误的原因:因为url的参数json中有双引号,火狐和谷歌浏览器会自动对url进行转码,但IE不会。

ywb201314的专栏 8740

Android 13/14/15 默认授权应用权限的实现方法

Android版本修改方式实现原理13/14修改Permission.java将所有权限标记为Normal权限15修改DeviceIdleController.java + DefaultPermissionGrantPolicy.java监听应用安装并主动授权。

m0_60898338的博客 2913

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

报错如下:(浏览器页面的和控制台的) 原因分析: 翻译过来就是:在请求目标中发现无效字符。有效字符在RFC 7230和RFC 3986中定义。 百度看看:原来这是从7.0开始的高版本tomcat中的新特性:就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保...

Javaxiaobaismc的博客 1万+

电阻应变式力传感器

电阻应变式力传感器

lu_fresh_student的博客 5075

CANoe诊断测试避坑指南:DTC故障注入与ECU刷写失败的N个常见原因排查

本文深入解析CANoe诊断测试中的常见问题,重点探讨DTC故障注入与ECU刷写失败的排查策略。从会话管理、安全访问到数据完整性校验,提供实战经验与CAPL脚本示例,帮助工程师规避诊断测试中的典型陷阱,提升车载网络通信与ECU刷写的可靠性。

weixin_29278805的博客 462

unsigned char 与 char在UTF8String 编码中的差异

Dart语言中utf8.encode(string);是将string编码成无符号bytes,那么对应在OC中将拆分成几部分 001 将字符串通过NSUTF8StringEncoding编码转化成NSData NSString* utf8EncodingStr = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; NSData *testData = [utf8EncodingStr dataUsingE...

Coding_Physical的专栏 745

Yield Management软件:Lam Research二次开发_(5).缺陷分析与分类方法

在半导体制造过程中,缺陷分析和分类是提高良率管理(Yield Management)的关键步骤。通过准确地识别和分类缺陷,可以更好地理解工艺过程中的问题,从而采取有效的措施来提高生产效率和产品质量。本节将详细介绍缺陷分析和分类的方法,包括缺陷检测、特征提取、分类算法及其在Lam Research软件中的应用。

2401_87715305的博客 690

绝对好用,解决:Invalid character found in the request target. The valid characters are defined。。。

项目场景: 项目运行中出现的问题 Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 问题描述 客户在使用我们公司产品的时候,进行了一个查询操作,结果可能是输入法的原因,输入了一些特殊字符,结果系统直接报错了 原因分析: 查看报错的日志:Invalid character found in the request target. The valid cha

qq_44285562的博客 1万+

26、遥感图像无监督变化检测方法解析

本文详细解析了遥感图像中的无监督变化检测方法,重点介绍了基于快速模糊 C-均值聚类的无监督变化检测方法(CDFFCM)在滑坡映射中的应用。CDFFCM 方法利用图像结构信息和高斯金字塔技术,提高了检测的准确性,减少了参数数量,并缩短了计算时间。该方法通过与传统方法的对比,展现出在高分辨率遥感图像滑坡检测中的显著优势。此外,文章还探讨了 CDFFCM 的未来发展趋势,包括技术融合、多模态数据应用以及智能化与自动化方向。

game4的博客 150

飞牛fnNAS个人小账本导入微信账单

本文介绍了将微信支付账单导入ezBookkeeping个人记账系统的详细方法。首先通过微信申请导出账单文件,接收后需进行Excel预处理:删除前导行、添加账户和分类列、整理金额格式等。在ezBookkeeping中需预先设置"微信"分类和账户。导入时需注意列映射关系,包括交易时间、账户名称等关键字段的对应设置。文章还提到处理交易标签、格式转换等细节问题,并建议避免使用"修改余额"功能。该方法同样适用于支付宝账单导入,解决了直接导入可能出现的格式不兼容问题。

dgnankai的专栏 482

报错 Invalid character found in the request target

(1)执行导出 EXCEL 文件的时候,报错: java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 (2)通过 F12 得知,错误码为 400,即:你访问的页面域名不存在或者请求错误。 主要分为两种。 1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户.

YelloJesse的博客 2万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

SpringBoot 版本:2.2.1 默认集成Tomcat版本:9.0.27 SpringBoot项目,使用SpringBoot默认集成的Tomcat,请求后端 Controller 接口时抛出此异常。 java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 at org.apa

weixin_44311939的博客 222

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

文章目录问题解决办法方法一:使用Tomcat7.0.69之前的版本;方法二:对url的特殊字符进行转义方法三:修改tomcat配置文件 问题 访问链接http://localhost:8080/spring03/requestParam7?addresses[0].city=beijing时,页面显示Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

陈小哥cw 3278

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

解决:Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC3986 目录 背景 原因分析 处理方法 参考 背景 在将tomcat升级到7.0.81版后,发现系统的有些功能不能使用了,查询日志发现是有些地址直接被tomcat认为存在不合法字符,...

qq_34025787的博客 2928

解决tomcat RFC 7230 and RFC 3986异常

异常原因:url参数里面有特殊字符 Message Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 Description The server cannot or will not process the request du...

placat的专栏 1352

Invalid character found in the request target.Thevalidcharactersaredefined in RFC 7230 and RFC3986

GET方式请求URL中参数含中文问题:Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC3986 错入信息如下: 这个问题是高版本tomcat中的新特性:就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含...

zjp_yuren的博客 1249

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

信息: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in the reques...

codeLife1993的博客 292

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

解决 Invalid character found in the request target. The valid characters are defined in RFC 3986 原因 将api部署在tomcat中的时候,如果前端请求参数有特殊字符,例如{},[]等,tomcat会报上述错误, 出现这个错误的原因是不支持参数中的特殊字符: 方法一(推荐) 使用json传输数据。 前端使用json格式传递数据,后端controller使用@RequestBody来接收,这样就不会出现特殊字符的问题。

hello world 844

The valid characters are defined in RFC 7230 and RFC 3986异常-解决方法

场景:eclipse + tomcat 7,本地开发时,通过get方式传递参数,参数中包含json格式字符串,本地运行良好,但迁移至linux环境执行异常...

东南草堂 589

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

tomcat报错 Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986@TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章...

qq_34003326的博客 2319

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

1、概述 今天将参数由ids=1,2 改为ids=1|2 在请求的时候出现如下问题: Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC39 2、问题分析 高版本tomcat中的新特性:就是严格按照 RFC 3986规范进行访问解析,而 RF...

zhongzunfa的专栏 302
上一篇: 技术笔记:如何在win10操作系统中卸载自带的office(前提是无法在控制面板中卸载)
下一篇: openfire通过设置的方式跳过初始化部分
堂前燕Tornado
博客等级 码龄14年 468粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

堂前燕Tornado

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值