建议将com.alibaba:fastjson升级至1.2.83

问题现象

  • 升级了gradle,改了文件存储位置,项目需要重新构建下载依赖文件,发现fastjson 1.2.66一直下载不下来
  • 一直卡在下载,就想着手动下载下试试,就去了mvnrepository网站
  • 找到fastjson时,发现了fastjson2

Note: This artifact was moved to: com.alibaba.fastjson2 » fastjson2

  • mvnrepository网站提供的最新fastjson版本为2.0.24,而且看了下,最低可用版本为1.2.83
  • 其余更低版本的,有一些风险点漏洞,可能会被利用,对程序或数据造成篡改,具体可以点击进去
    在这里插入图片描述
  • 这里贴其中一个CVE-2022-25845,描述翻译为:1.2.83之前的包com.alibaba:fastjson通过绕过默认的autoType关闭限制,容易受到不受信任数据的反序列化攻击,这在某些情况下是可能的。利用此漏洞可以攻击远程服务器。解决方法:如果无法升级,可以启用[safeMode]
    在这里插入图片描述

升级的好处

  • 升级com.alibaba:fastjson1.2.83版本是个不错的选择,因为它包含了许多修复程序和新特性
  • 1.2.83版中,fastjson修复了几个安全漏洞,并增加了对Java 15的支持
  • 此外,它还改进了算法和性能,提高了序列化和反序列化速度。这些改进使fastjson更加可靠和高效,建议用户升级
  • 请注意,升级到新版本可能需要一些代码更改以确保兼容性
  • 在升级之前,请务必对您的应用程序进行全面测试,确保不会对应用程序造成影响
  • 我自己在项目中升级后,测试没发现问题,基本的序列化、反序列化,包括时间参数、复杂对象,都没发现问题。毕竟我是从 1.2.66升级到1.2.83,都是1.2.x,小版本更新,基本上都是兼容的
  • 很多项目持续了很久,一些jar包依赖的版本,可能是很低版本的,这些版本就可能存在一些被发现和公布的漏洞
  • 如果是部署在互联网的程序,或者本身对安全要求比较高,建议追踪主要jar包的版本变动,主动使用比较新的稳定版本
  • 此次将项目里使用的com.alibaba:fastjson全部升级至1.2.83

fastjson2介绍

  • 针对现在服务器的高内存配置和jdk的高版本发布,使用com.alibaba.fastjson2 » fastjson2也是一个不错的选择,根据官方文档,性能有不小的提升。待其更加稳定时,可以考虑纳入生产项目使用
  • fastjson2是一个高性能的Java JSON处理器,可以将Java对象与JSON之间进行互相转换。它支持Java泛型和自定义序列化,具有比较高的解析速度和较小的内存占用,已经成为了Java开发中最流行的JSON处理库之一
  • fastjson2支持JSONJava之间的双向转换,可以将JSON字符串中的数据转化为Java对象,也可以将Java对象转化为JSON字符串
  • 其具有简单易用的API和良好的性能,可以广泛应用于各种Java应用中,尤其是Web应用的开发中
  • fastjson2在解析JSON字符串时,可以忽略不需要的字段,支持循环引用和类似2017-02-03这样的日期格式
  • 另外,fastjson2还支持JSONP格式的数据传输,可以在Web应用中使用
  • fastjson2在开发Java应用中处理JSON数据方面具有广泛的适用性,可以提供快速、高效、简单的JSON数据解析方案
  • fastjson2fastjson相比,最主要的改进在于其解析性能优化得更好,因为编写了更高效的算法,也修复了一些解析器中的一些错误。因此,在处理大数据量、复杂的JSON数据结构时,fastjson2能够提供更快的速度和更稳定的性能。同时,fastjson2也增强了JSON的验证机制,更严谨地进行数据格式的校验,提高了数据的可靠性和安全性。除此之外,Fastjson2适用于更广泛的Java版本,能够支持Java 15及以上版本
  • 只不过,fastjson2替换fastjson这种比较大的变动,肯定要进行代码适配了
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坚持是一种态度

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值