オブジェクトを使用して、ユーザーが指定した zip ファイルを取得し、解凍し、その中のファイルを処理する PHP スクリプトを作成していZipArchive
ます。42.zipのような zip 爆弾を回避するにはどうすればよいですか?
3182 次
1 に答える
1
zip_entry_filesize を確認してください: http://php.net/manual/en/function.zip-entry-filesize.php
.zip ファイル内の圧縮されていないアーカイブの実際のサイズがわかります。マニュアルページのコメントで提供されている関数の例を次に示します。
function get_zip_originalsize($filename) {
$size = 0;
$resource = zip_open($filename);
while ($dir_resource = zip_read($resource)) {
$size += zip_entry_filesize($dir_resource);
}
zip_close($resource);
return $size;
}
$size = get_zip_originalsize('file.zip');
echo "original size: $size bytes\n";
于 2012-11-07T22:37:41.143 に答える