【随手记录】Apache POI 报错:Zip bomb detected! The file would exceed the max. ratio of compressed file ....

news/2024/12/23 10:02:06/文章来源:https://www.cnblogs.com/whaleX/p/18623284

1、背景:

  使用POI解析Excel报错:

Zip bomb detected! The file would exceed the max. ratio of compressed file size to the size of the expanded data。
This may indicate that the file is used to inflate memory usage and this could pose a security risk.
You can adjust this limit via Zipsecureile.setMinInflateRatio() if you need to work with files which exceed this limit.
Uncompressed size:105456Raw/compressedsize :9-70ratio:0.009198Limits: MIN_INFLATE_RATIO:0.010000,Entryxl/pivotCache/pivotCacheRecords1.xml

 

2、原因:

  Excel是有压缩机制的,读取解析Excel时候,会将Excel解压为一个非常大的未压缩文件,会引起诸如耗尽内存或磁盘空间等问题。

  为了防止这种情况的发生,Apache POI内置了一些防护措施,并且默认情况下启用了这些防护措施。

3、处理

  fileInputStream = new FileInputStream(filePath);// 设置最小解压比率以解决 Zip bomb 错误ZipSecureFile.setMinInflateRatio(-1.0d);// 创建 XSSFWorkbook 对象XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream);// 获取指定的 sheetXSSFSheet sheet = workbook.getSheet(sheetName);

4、其他

  4.1、分块处理:

  将文件分块读取并处理,而不是一次性加载整个文件,这样可以减少内存使用,防止内存溢出。

  4.2、另存为csv:可以尝试重新压缩文件,另存为csv格式,降低压缩比率,以减少解压时的内存使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/857340.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器overleaf

1.领取免费服务器,推荐免费服务器(SanFengYun)见下图。2.安装宝塔面板,配置内网为127.0.0.1,访问外网地址。 3.可以在宝塔面板一键部署网站,输入自己的域名即可。 4.关键:安装docker,安装yum,设置github可以访问。 5.更换docker镜像,自带镜像无法访问 6.按照overleaf…

10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南

在Python开发过程中,调试是一项核心技能。无论是初级开发者还是资深工程师,掌握高效的调试技巧都能显著提升开发效率。本文将介绍10个实用的调试方法,帮助开发者更有效地定位和解决问题。 https://avoid.overfit.cn/post/dfc2c72df2164c7ebac1289e17ec743e

专业的内外网数据交换方案 可解决安全、效率、便捷3大问题!

内外网数据交换是很多企业和行业都会面临的场景,既然隔离了内外网,重中之重就是要确保数据的安全性,其次在数据流转交换过程中,不能太繁琐复杂,需要让用户快速、便捷的进行数据交换。首先我们来看看,在进行内外网数据交换时,对于安全、效率、便捷这些方面的需求和挑战有…

Ftrans文件摆渡系统 让跨网文件传输更快捷、更安全!

很多含有敏感信息的行业,包括但不限于:集成电路、政府、金融、能源、医疗、制造以及一些高新技术企业,都会采用网络隔离的方式来保护核心数据,这就产生了跨网文件传输的业务场景。面临这种场景,最好是采用专业的文件摆渡系统来解决传输和管控问题。 一、跨网文件传输的业…

【差分约束】学习笔记

LearningBasic Tips 差分约束,即为存在一个差分约束系统,即类似 \(x_i - x_j \leq k\) 的 \(n\) 元一次不等式组,求出一组解使得该组内所有不等式全部成立,即 \(x_1 = s_1,x_2 = s_2 \dots x_n = s_n\),否则判无解。 对于满足条件的一个解集 \(\{s_1,s_2,s_3,\dots,s_n\}\…

AI车牌监测识别摄像机

AI车牌监测识别摄像机是一种基于人工智能技术的高级监控设备,用于识别和记录车辆的车牌信息。该摄像机利用深度学习算法和图像识别技术,能够快速准确地捕捉车辆牌照信息,有助于提高交通安全管理和追踪犯罪嫌疑车辆。AI车牌监测识别摄像机是一种基于人工智能技术的高级监控设…

dedecms报错The each() function is deprecated

打开报错提示文件对应的行数 把 while (list($key) = each($val)) 改成foreach ($val as $key => $value)扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修…

dedecms文章简介标签infolen控制字数的方法

方法一:底层标签 [field:description/] 改成 [field:infos/] 方法二: [field:description function=cn_substr(@me,66)/]扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网…

后台管理登陆一直显示管理员密码错误?

有时浏览器缓存或Cookie可能导致登录问题。清除浏览器缓存和Cookie,或者尝试使用隐身模式或不同浏览器登录,排除浏览器相关问题。 1. 验证密码修改成功 如果你最近修改了密码,确保修改操作确实成功。通过主机提供商控制面板或直接在数据库中检查管理员用户的密码哈希值是否已…

网站被黑,现在登录后台密码错误。

处理网站被黑且后台密码错误的问题,建议按照以下步骤进行:确保安全立即断开受感染服务器的网络连接以防止进一步攻击。 检查是否有其他入口点(如FTP、SSH)也被攻破。评估损害审查日志文件(访问日志、错误日志等),确定入侵时间和方法。 使用文件完整性检查工具对比原始安…

网站后台显示用户名或密码错误,无法登录

当网站后台显示用户名或密码错误且无法登录时,可以按照以下逻辑步骤进行排查和处理:验证输入信息确认输入的用户名和密码是否正确,注意大小写敏感。 尝试使用其他已知正确的管理员账户登录。检查浏览器缓存和Cookie清除浏览器缓存和Cookie,或者尝试使用隐身模式或不同浏览器…

服务器重启后站点仍无法访问

服务器重启后,客户反馈网站仍然无法访问,应该如何处理? 答案:您好,建议您进行以下操作:检查网络连接: 断开并重新连接本地网络设备,确保网络畅通。 测试服务器端口: 测试80端口是否通畅,若仍无法访问,请提交工单至云服务器技术支持部门。非常感谢您的支持!由此给您…