1.问题
项目中要对10层压缩的zip、7z等文件用tika解压遇到错误:tika zip bomb detected
也就是说tika认为这是个压缩炸弹。
“压缩炸弹”是一个压缩包文件的木马程序,通常只有几百KB,解压后会变成上百MB或者上GB庞然大物。把你本地磁盘占满。
2.查找源码
查找tika解析源码发现以下处设置了文件炸弹的识别参数


MaximunpackeageEntryDepth是文件深度设置:比如设置10,解压到第10层就认为是压缩炸弹
MaximumCompressionRatio是文件压缩率
其余两个参数未知没有尝试。
3.解决问题
TikaConfig config = new TikaConfig(inputStream);
conifg.getAutoDetectPareseConfig().setMaximunpackeageEntryDepth(11);
......如此可解决10层压缩文件解析,不被tika认为是文件炸弹。






![【根据车间号[81321000]未找到ERP逻辑仓】](https://img-blog.csdnimg.cn/c0857d3e796448808f04b1be6d6ef074.png)


![2023年中国GPS导航设备产量、销量及市场规模分析[图]](https://img-blog.csdnimg.cn/img_convert/c240ef95eab0d13009611cba534ee85a.png)









