Struts2一次请求参数问题的记录

最近,一次前端正常请求,但后台出现请求参数值的变化,导致报错,问题如下:

从入参request中查看请求参数,是一个Json字符串,其中有个description的键值对

但是,接下来调用resquest的getParatemer() ,取值参数值时,却发现json字符串数值变了,凭空多出来一个deion的键值对,如下图:

进而导致后续的Json解析报错:

因为在代码逻辑中,未对此数值进行额外的处理逻辑,正常不会变化才对,查看getParatemer()方法的源码,发现本地有两处进行了重写:

分别进入两个对应的Fliter中:

第一个没有发现什么修改逻辑;

第二个Filer中,发现未防止Xss注入,对请求进行了处理,在图中第二个标注出,对数值中script的全文替换,导致了上述问题,json中的description被替换后就成了deion。

发现此问题后,对此替换逻辑,进行了优化(可以选判断下script边界再做替换,或者其他方法),问题解决。

相关推荐
Hy行者勇哥5 天前
物联网软件开发过程中,数据流图(DFD),用例图,类图,活动图,序列图,状态图,实体关系图(ERD),BPMN(业务流程建模)详解分析
java·物联网·struts
计算机毕设定制辅导-无忧学长15 天前
InfluxDB 权限管理与安全加固(一)
java·struts·安全
做一位快乐的码农20 天前
基于springboot的在线考试系统/考试信息管理平台
java·struts·spring·eclipse·tomcat·maven·hibernate
计算机毕设定制辅导-无忧学长22 天前
InfluxDB 与 Golang 框架集成:Gin 实战指南(一)
struts·golang·gin
做一位快乐的码农25 天前
基于Spring Boot和Vue电脑维修平台整合系统的设计与实现
java·struts·spring·tomcat·电脑·maven
一个天蝎座 白勺 程序猿1 个月前
Apache IoTDB(1):时序数据库介绍与单机版安装部署指南
struts·apache·iotdb
长勺2 个月前
SpringMVC与Struts2对比教学
java·后端·struts
Bruce_Liuxiaowei2 个月前
深度剖析OpenSSL心脏滴血漏洞与Struts2远程命令执行漏洞
struts·安全·web安全
Despacito0o3 个月前
MQTT入门实战宝典:从零起步掌握物联网核心通信协议
物联网·struts·servlet
Despacito0o3 个月前
深入浅出MQTT协议:从物联网基础到实战应用全解析
java·物联网·struts