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

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

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

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

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

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

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

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

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

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

相关推荐
论迹复利1 天前
PSA Certified 是什么——物联网芯片安全认证的三级体系
物联网·struts·安全
啊湘2 天前
天气查询API接口 按月Token鉴权 实时天气 物联网可用 文档齐全
java·后端·struts
microrain4 天前
物联网的灵魂骨架:聊聊物模型如何让设备不再各自为政
java·物联网·struts·go语言·物模型·sagooiot
FREEDOM_X16 天前
Linux 进程间通讯(IPC)——总结
linux·c语言·前端·嵌入式硬件·struts
想你依然心痛20 天前
嵌入式数据库——FlashDB在KV存储与TSDB中的应用(磨损均衡、垃圾回收)
java·数据库·struts
大鱼>1 个月前
大语言模型+物联网:LLM理解物理世界
物联网·struts·语言模型·多模态·aiot
星越华夏2 个月前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32
江华森2 个月前
EMQX 实战进阶博客:从入门到物联网架构
物联网·struts·架构
砍材农夫2 个月前
物联网实战:Spring Boot MQTT | 模拟器Paho客户端拆解高性能
java·javascript·spring boot·后端·物联网·struts
TDengine (老段)2 个月前
TDengine Cache 与 Last 查询加速 — CACHEMODEL 机制与 RocksDB 缓存层
大数据·数据库·物联网·struts·缓存·时序数据库·tdengine