使用背景
由于项目需要,提供rest接口给第三方系统调用,第三方发送json格式请求数据,所以采用fastjson对接口信息进行解析。
大致数据格式如下:
fastjson版本:
程序解析
逐层解析,然后将需要的信息存放到一个对象中。
问题出现
在解析description的时候,发现一直无法解析到对应的值,可是json串中确实存在,由于项目依赖启动较多,部署环境启动后,发现输出日志奇怪的变成了
很奇怪,莫名其妙的问题,由于description变成了deion。所以在解析去取description肯定是空,无奈之下,改成deion,真的取到数据了。。
新写一个测试类,将请求过来的json串用字符串形式去转换成json,发现使用description去解析并没有问题。
分析:
1.description—>deion,缺失的部分为script,不知道是不是关键字或者是指令信息,被过滤掉了,所以不行。
2.由于是内网环境,不能切换fastjson版本,不知道是不是版本问题。
3.程序中有其他隐藏的坑? - -!!
经过查证:
还真是程序的坑。。程序中去判断了特殊字符,和sql有关的进行了异常捕获,与sql无关但是与系统安全相关的,直接进行了替换处理,我晕~。
多注意过滤器!!!!!!
打赏支付宝微信扫一扫,打赏作者吧~
本文链接:https://www.kinber.cn/post/3980.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:
您阅读本篇文章共花了: