【Linux】升級FastJSON版本-jar

摘要

在長期運行的應用服務器上,近期的安全漏洞掃描揭示了fastjson組件存在潛在的安全隱患(FastJSON是一個Java 語言實現的 JSON 解析器和生成器。FastJSON存在遠程代碼執行漏洞,惡意攻擊者可以通過此漏洞遠程執行惡意代碼來入侵服務器)。為解決這一漏洞,解決方案是對fastjson版本的升級,以增強系統的安全性。為了避免因重新打包整個應用帶來的不便與效率損失,我們采取了一種更為靈活的更新策略——直接在生產環境中升級fastjson至最新穩定版本。

FastJson下載

官方鏈接:https://mvnrepository.com/artifact/com.alibaba/fastjson

按照如下步驟進行下載FastJson的jar包

?下滑找到你要的fastjson包版本,我選擇1.2.83。

?跳轉到具體1.2.83版本頁。

?跳轉到GitHub,點擊如下圖所示:

?點擊下載FastJson的jar包

?升級Fastjson

1.找到服務器上正在運行的Java的jar包

# 根據命令能看見正在跑的Java的jar包
ps -ef|grep java
# 根據命令找到Java包的位置
find / -name xx.jar

2.備份jar包

# 切換到jar包目錄
cd /xxx/xxx
# 復制一份jar包
cp xx.jar xx.jar_日期.bak

?舉例如下:

3.創建臨時文件夾,并將jar移入

注:先備份要進行升級fastjson的jar包

mkdir temp
mv xxx.jar temp/
# 切換到臨時目錄
cd temp/

4.解壓jar包

jar xvf xxx.jar
# 一般解壓有三個目錄:BOOT-INF/ META-INF/ org/

通過jar --help 命令查看 jar 的相關命令

Illegal option: -
Usage: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
Options:-c  create new archive-t  list table of contents for archive-x  extract named (or all) files from archive-u  update existing archive-v  generate verbose output on standard output-f  specify archive file name-m  include manifest information from specified manifest file-n  perform Pack200 normalization after creating a new archive-e  specify application entry point for stand-alone application bundled into an executable jar file-0  store only; use no ZIP compression-P  preserve leading '/' (absolute path) and ".." (parent directory) components from file names-M  do not create a manifest file for the entries-i  generate index information for the specified jar files-C  change to the specified directory and include the following file
If any file is a directory then it is processed recursively.
The manifest file name, the archive file name and the entry point name are
specified in the same order as the 'm', 'f' and 'e' flags.Example 1: to archive two class files into an archive called classes.jar: jar cvf classes.jar Foo.class Bar.class 
Example 2: use an existing manifest file 'mymanifest' and archive all thefiles in the foo/ directory into 'classes.jar': jar cvfm classes.jar mymanifest -C foo/ .

用法:jar {ctxui} [vfmn0PMe] [jar文件] [清單文件] [入口點] [-C目錄]文件...
選項:
??? -c創建新檔案
??? -t列出要歸檔的目錄
??? -x從存檔中提取命名(或所有)文件
??? -u更新現有檔案
??? -v在標準輸出上生成詳細輸出
??? -f指定歸檔文件名
??? -m包含來自指定清單文件的清單信息
??? -n在創建新存檔后執行Pack200規范化
??? -e指定獨立應用程序的應用程序入口點
??????? 捆綁到可執行的jar文件中
??? -0只存儲;不使用ZIP壓縮 (數字0)
??? -P從文件名保留前導的“ /”(絕對路徑)和“ ..”(父目錄)組件
??? -M不為條目創建清單文件
??? -i為指定的jar文件生成索引信息
??? -C更改為指定目錄并包含以下文件
如果任何文件是目錄,則將對其進行遞歸處理。
清單文件名稱,歸檔文件名稱和入口點名稱為
以與“ m”,“ f”和“ e”標志相同的順序指定。

5.更新fastjson的jar包

# 切換到BOOT-INF/lib
cd BOOT-INF/lib
# 找到fastjson.jar并替換,可采用文件傳輸工具或者命令

6.重新打成jar包

#打包時先刪除當前目錄的xxx.jar包
rm -rf xxx.jar
#將所有文件重新壓縮成xxx.jar包
jar -cvfM0 xxx.jar BOOT-INF/ META-INF/ org/
#將重新打包的xxx.jar放回原來目錄,并運行新的jar包。

到此,在Linux環境下fastjson升級完成。

參考:jar包的解壓和重新打包_jar解壓后重新打包-CSDN博客

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/42475.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42475.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42475.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

怎么解析二級域名,一個一級域名可以解析多少二級域名?

在構建網站或應用時,域名是連接用戶與服務器的重要橋梁。注冊了一級域名后,如何解析二級域名,以及一個一級域名可以解析多少個二級域名,是很多網站管理人員都非常關心的問題。本文國科云將簡單探討下這兩個問題,并給出…

數學,LeetCode 3102. 最小化曼哈頓距離

一、題目 1、題目描述 給你一個下標從 0 開始的數組 points ,它表示二維平面上一些點的整數坐標,其中 points[i] [xi, yi] 。 兩點之間的距離定義為它們的 曼哈頓距離 。 請你恰好移除一個點,返回移除后任意兩點之間的 最大 距離可能的 最小…

Dynadot 2024年第一季度回顧

關于Dynadot Dynadot是通過ICANN認證的域名注冊商,自2002年成立以來,服務于全球108個國家和地區的客戶,為數以萬計的客戶提供簡潔,優惠,安全的域名注冊以及管理服務。 Dynadot平臺操作教程索引(包括域名郵…

java進程把服務器CPU打滿問題排查

1、top命令定位問題進程 2、查看進程的所有線程信息,記下占用最高的進程 top -Hp 38080553、將第2步得到的線程號轉化為十六進制 printf %x\n 38080594、結果里搜索 jstack 3808055|grep -A 10 3a1b3b5、定位問題 根據上步搜索到的結果,可以看到是GC…

【PyQt5】

PyQT5線程基礎(1) 分離UI主線程和耗時子線程QThread自定義信號 分離UI主線程和耗時子線程 在應用程序中,主線程負責處理用戶的輸入事件、更新UI元素和響應系統的回調,而耗時的任務(例如網絡請求、數據庫訪問、圖像處理…

關閉這八個電腦設置,保護個人隱私

你知道嗎?電腦可能一直在偷窺你的小秘密。朋友們,一定要記得關閉這8個電腦設置哦,這樣可以有效地保護我們的個人隱私。 按住鍵盤Windows鍵加i鍵,快速打開Windows設置。然后點擊隱私選項。 我們來看基本的常規設置。里面有四個設置…

在表格中選中el-radio后, 怎么獲取選中的這一行的所有數據?

演示: 圖中, 選中這行數據后, 怎么獲取到當前的數據? 代碼: <tr v-for"item in gridData"><td><input type"radio" v-model"checkout" change"getDateFn" :data-type"item.articleType" :data-channelNam…

GEE代碼實例教程詳解:年度和月度土地覆蓋變化分析

簡介 在本篇博客中&#xff0c;我們將使用Google Earth Engine (GEE) 對土地覆蓋變化進行年度和月度的分析。通過Google的Dynamic World數據集&#xff0c;我們可以識別2023年至2024年間土地覆蓋的類型和變化。 背景知識 Google Dynamic World數據集 Google/DYNAMICWORLD/V…

百川工作手機實現銷售管理微信監控系統

在瞬息萬變的商業戰場中&#xff0c;每一分效率的提升都是企業制勝的關鍵。傳統銷售管理模式已難以滿足現代企業對精準、高效、合規的迫切需求。今天&#xff0c;讓我們一同探索如何利用工作手機這一創新工具&#xff0c;為您的銷售團隊裝上智能翅膀&#xff0c;開啟銷售管理的…

基于springboot+vue實現的廚藝交流平臺(文末源碼+Lw)093

93基于SpringBootVue的實現的廚藝交流平臺&#xff08;源碼數據庫萬字Lun文流程圖ER圖結構圖演示視頻軟件包&#xff09; 系統功能&#xff1a; 這次開發的廚藝交流平臺功能有個人中心&#xff0c;食材分類管理&#xff0c;用戶管理&#xff0c;菜品分類管理&#xff0c;菜譜信…

解鎖敦煌網成功秘籍:批量注冊買家號測評的高效策略

敦煌網&#xff08;DHgate&#xff09;作為一個跨境電商平臺&#xff0c;搭建境外本土網絡環境并實現批量注冊買家號下單&#xff0c;需要遵循一系列嚴謹的步驟和考慮多個關鍵因素。以下是一個概括性的指南&#xff1a; 一、環境要求 國外服務器&#xff1a;首先&#xff0c;…

HumbleBundle7月虛幻捆綁包30件軍事題材美術模型沙漠自然環境大逃殺模塊化建筑可定制武器包二戰現代坦克飛機道具喪尸士兵角色模型20240705

HumbleBundle7月虛幻捆綁包30件軍事題材美術模型沙漠自然環境大逃殺模塊化建筑可定制武器包二戰現代坦克飛機道具喪尸士兵角色模型202407051607 這次HumbleBundle捆綁包是UE虛幻軍事題材的&#xff0c;內容非常多。 有軍事基地、賽博朋克街區、灌木叢景觀環境等 HB捆綁包虛幻…

7-打包安裝程序

接下來假設我們想要將我們的項目分發給其他人&#xff0c;以便他們可以使用它。我們希望在各種平臺上提供二進制和源代碼發行版。這與我們之前在安裝和測試中所做的安裝略有不同&#xff0c;在安裝中我們安裝了從源代碼構建的二進制文件。在本例中&#xff0c;我們將構建支持二…

C# 構造函數依賴注入 使用out向外傳遞參數

天真目前解決方法 天真 using System;namespace forCode20191 {class Program {static void Main(string[] args) {bool flag false;Tmp tt new Tmp(out flag);Console.WriteLine(flag); // 將輸出 falsett.Doit();Console.WriteLine(flag); // 將輸出 trueConsole.ReadKey(…

“DDoS攻擊的最新防御策略:從檢測到緩解的全方位方案“

DDoS攻擊的最新防御策略 DDoS攻擊&#xff08;分布式拒絕服務攻擊&#xff09;是網絡安全領域的重大威脅&#xff0c;它通過大量的惡意流量淹沒目標服務器或網絡&#xff0c;導致服務不可用。為了有效防御DDoS攻擊&#xff0c;最新的策略強調從檢測到緩解的全方位方案。 多層防…

深度學習的數學PDF

鏈接: https://pan.baidu.com/s/1_jScZ7dcyAWGqbrad6bbCQ?pwd9gj9 提取碼: 9gj9 復制這段內容后打開百度網盤手機App&#xff0c;操作更方便哦

【蒼穹外賣】Day2 手把手敲完細節

目錄 1. 新增員工 1.1 需求分析和設計 1.2 代碼開發 ①定義DTO類&#xff1a;(在sky-pojo里&#xff09; ②EmployeeController中創建新增員工方法save() ③EmployeeService里聲明save方法&#xff08;altenter&#xff09; ④EmployeeServiceImpl中實現save方法 ⑤在E…

頂刊文獻閱讀及代碼復現

前提:每個無人機都有 (i)自己的機載計算機,用于執行控制其自身動作所需的計算 (ii)自己的傳感器系統,用于測量相對位置和速度, (iii)自己的通信設備,用于與相鄰代理進行數據交換。 模型:短期的排斥力、中間范圍的速度一致性和長距離的吸引力

通過PLC地址來切換威綸通觸摸屏界面

Step 1 元件-PLC控制 Step 2 新增 選擇設備 選擇切換基本窗口功能 選擇觸發地址 Step 3 離線仿真測試 在數值框中輸入對應的頁面號 可以看到頁面可以正常切換 分享創作不易&#xff0c;請多多支持&#xff0c;點贊、收藏、關注&#xff01; Ending~

昇思Mindspore25天學習打卡Day20:DCGAN生成漫畫頭像

昇思Mindspore25天學習打卡Day20&#xff1a;DCGAN生成漫畫頭像 1 GAN基礎原理2 DCGAN原理3 數據準備與處理數據處理 4 構造網絡4.1 生成器4.2 判別器 5 模型訓練損失函數優化器訓練模型 6 結果展示7 訓練結束打上標簽和時間 在下面的教程中&#xff0c;我們將通過示例代碼說明…