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

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

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

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

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

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

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

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

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

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

相关推荐
wxin_VXbishe10 天前
springboot高校兼职平台-计算机毕业设计源码65602
java·spring boot·python·struts·spring·django·express
ACRELKY15 天前
电力物联网的电力监控系统
java·物联网·struts
晓翔仔20 天前
Apache Struts2开发模式漏洞解析与修复
java·struts·apache
程序员阿龙1 个月前
基于微信小程序靓丽内蒙古APP(源码+定制+辅导)
java·struts·微信小程序·小程序·eclipse·tomcat·hibernate
做一位快乐的码农1 个月前
小区物业维修管理系统/小区居民报修系统
java·struts·spring·eclipse·tomcat·maven·hibernate
一枚小小程序员哈1 个月前
武威市旅游资源管理系统/旅游网站的设计与实现
java·struts·spring·eclipse·tomcat·maven·旅游
一枚小小程序员哈1 个月前
基于spring boot的酒店管理系统
java·spring boot·后端·struts·spring·eclipse·maven
cesske1 个月前
springboot 对接物联网LOT(mqtt)
spring boot·物联网·struts
一枚小小程序员哈1 个月前
基于node.js的宠物寄存管理系统,基于express的宠物寄存系统
struts·spring·eclipse·node.js·maven·express·宠物
做一位快乐的码农1 个月前
地图相册系统的设计与实现
java·struts·spring·eclipse·tomcat·maven·intellij-idea