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

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

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

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

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

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

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

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

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

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

相关推荐
好家伙VCC几秒前
**TEE在嵌入式安全中的应用实践:基于ARM TrustZone的加密存储方案设计与实现*
java·arm开发·python·struts·安全
纸鸢|14 小时前
从“一锤子买卖“到“持续价值共生“:物联网软件产品如何做到“叫好又叫座“
java·物联网·struts
七夜zippoe4 天前
DolphinDB入门:时序数据库的正确打开方式
数据库·struts·时序数据库·工业互联网·dolphindb
AAAAA92407 天前
物联网BOM成本管理:精准化、智能化与可持续化
java·物联网·struts
EmbeddedCore10 天前
基于 MQTT+JSON 的物联网网关物模型通讯协议(极致精简・缩写版)
java·后端·struts
DolphinDB智臾科技12 天前
2026 物联网时序数据库选型指南:DolphinDB/InfluxDB/TimescaleDB 深度对比与实践
物联网·struts·时序数据库
jonyleek14 天前
JVS物联网应用中控制器的四大职责和设备接入全流程
java·struts·servlet·私有化部署
ALex_zry14 天前
物联网数据质量控制系统设计:质控算法与实现
物联网·算法·struts
jllllyuz15 天前
小型物联网系统——家居网关设计(C语言实现)
c语言·物联网·struts
薛定谔的悦25 天前
MQTT通信协议业务层实现的完整开发流程
java·后端·mqtt·struts