gpt4 book ai didi

java - Apache POI 创建 xlsx 文件,以后无法打开。检测到 zipper 炸弹

转载 作者:行者123 更新时间:2023-12-02 02:25:53 25 4
gpt4 key购买 nike

当我有时使用 Apache POI 创建 xlsx 文件时(当文件很大时),它会创建这样一个文件,该文件无法由同一个 Apache POI 打开,而 MS Excel 或 LibreOffice Calc 可以毫无问题地打开它。

当我尝试使用 Apache POI 打开此工作簿时,它说

Zip bomb detected

只有当我调用 ZipSecureFile.setMinInflateRatio(0) 或在 LibreOffice 中重新保存它时,我才能打开它(MS Excel 在这里没有帮助)。

如何解决这个问题?为什么 POI 创建无法打开的文件?

最佳答案

只需按照错误消息的建议进行操作,并通过

设置不同的限制

ZipSecureFile.setMinInflateRatio(0)

您似乎有一个相当特殊的用例,它生成的文件类似于恶意用户可能用来导致服务器崩溃、耗尽 CPU 或内存不足的某些文件。为了避免这种情况,Apache POI 有此限制,但允许根据需要进行不同的设置。因此,如果文件不是来自不受信任的用户,您可以轻松调整这些限制以避免出现错误消息。

Excel 或 LibreOffice 可能比 Apache POI 更优化文件内容,从而生成未达到这些限制的文件。

关于java - Apache POI 创建 xlsx 文件,以后无法打开。检测到 zipper 炸弹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47774587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com