selective/archive-bomb-scanner
最新稳定版本:2.2.0
Composer 安装命令:
composer require selective/archive-bomb-scanner
包简介
ZIP and PNG bomb scanner
README 文档
README
ZIP and PNG bomb scanner for PHP.
Features
- Detection of ZIP archive bombs
- Detection of RAR archive bombs
- Detection of PNG bombs
- No dependencies
- Very fast
Requirements
- PHP 8.1 - 8.4
Installation
composer require selective/archive-bomb-scanner
Usage
Scan ZIP file
use Selective\ArchiveBomb\Scanner\BombScanner; use Selective\ArchiveBomb\Engine\ZipBombEngine; use SplFileObject; $file = new SplFileObject('42.zip'); $scanner = new BombScanner(); $scanner->addEngine(new ZipBombEngine()); $scannerResult = $scanner->scanFile($file); if ($scannerResult->isBomb()) { echo 'Archive bomb detected!'; } else { echo 'File is clean'; }
Scan in-memory ZIP file
use Selective\ArchiveBomb\BombScanner; use Selective\ArchiveBomb\Engine\ZipBombEngine; use SplTempFileObject; $file = new SplTempFileObject(); $file->fwrite('my file content'); $scanner = new BombScanner(); $scanner->addEngine(new ZipBombEngine()); $isBomb = $detector->scanFile($file)->isBomb(); // true or false
Scan RAR file
use Selective\ArchiveBomb\Scanner\BombScanner; use Selective\ArchiveBomb\Engine\RarBombEngine; use SplFileObject; $file = new SplFileObject('10GB.rar'); $scanner = new BombScanner(); $scanner->addEngine(new RarBombEngine()); $scannerResult = $scanner->scanFile($file); if ($scannerResult->isBomb()) { echo 'Archive bomb detected!'; } else { echo 'File is clean'; }
Scan PNG file
use Selective\ArchiveBomb\Scanner\BombScanner; use Selective\ArchiveBomb\Engine\PngBombEngine; use SplFileObject; $file = new SplFileObject('example.png'); $scanner = new BombScanner(); $scanner->addEngine(new PngBombEngine()); $scannerResult = $scanner->scanFile($file); if ($scannerResult->isBomb()) { echo 'PNG bomb detected!'; } else { echo 'File is clean'; }
License
MIT
统计信息
- 总下载量: 22.96k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 21
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-07-27