我刚看过拉链炸弹,即包含大量高度可压缩数据(00000000000000000 ...)的zip文件.
打开时,它们会填满服务器的磁盘.
在解压缩之前,如何检测zip文件是拉链炸弹?
更新你能告诉我在Python或Java中是如何完成的?
我想列出存档中的文件,而不是它们的提取.
我感兴趣的档案类型:
对于.zip文件,我已经能够实现这个目的:
<?php
$za = new ZipArchive();
$za->open('theZip.zip');
for ($i = 0; $i < $za->numFiles; $i++) {
$stat = $za->statIndex($i);
print_r(basename($stat['name']) . PHP_EOL);
}
?>
Run Code Online (Sandbox Code Playgroud)
但是,我没有设法为.7z文件做同样的事情.没有测试.rar和.tar,但也需要它们.