PHPackages                             portavice/filesanitizer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. portavice/filesanitizer

ActiveLibrary[Security](/categories/security)

portavice/filesanitizer
=======================

A PHP library to sanitize file names and content to prevent security vulnerabilities.

1.0.0(3mo ago)01881MITPHP &gt;=8.1

Since Apr 20Compare

[ Source](https://github.com/portavice/FileSanitizer)[ Packagist](https://packagist.org/packages/portavice/filesanitizer)[ Docs](https://portavice.de)[ RSS](/packages/portavice-filesanitizer/feed)WikiDiscussions Synced 3w ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (1)

FileSanitizer
=============

[](#filesanitizer)

[![MIT Licensed](https://camo.githubusercontent.com/c2bffd81d308ced1cc3b0d66fb0ed453ab478a5e17c988b780f9de986a390ee2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Check code style](https://github.com/portavice/FileSanitizer/actions/workflows/code-style.yml/badge.svg?style=flat-square)](https://github.com/portavice/FileSanitizer/actions/workflows/code-style.yml)[![Tests](https://github.com/portavice/FileSanitizer/actions/workflows/tests.yml/badge.svg?style=flat-square)](https://github.com/portavice/FileSanitizer/actions/workflows/tests.yml)[![Latest Version on Packagist](https://camo.githubusercontent.com/2abaa51b05bcd3db9eccf5eb10ef1446b62d190d0f5999673cd2278b2a2dc685/68747470733a2f2f706f7365722e707567782e6f72672f706f727461766963652f66696c6573616e6974697a65722f762f737461626c653f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/portavice/filesanitizer)[![Total Downloads](https://camo.githubusercontent.com/029800ea0eb8a402ba7d6aeb5dff1c349824facee1e10e1b9d10a7d115bec0d1/68747470733a2f2f706f7365722e707567782e6f72672f706f727461766963652f66696c6573616e6974697a65722f646f776e6c6f6164733f666f726d61743d666c61742d737175617265)](https://packagist.org/packages/portavice/filesanitizer)

Pure PHP file sanitizer and scanner for uploaded files. It strips metadata where practical, rewrites selected file types into safer forms, and detects suspicious or malicious content such as XSS-style payloads, risky embedded markup, active PDF content, and dangerous archive entries.

Features
--------

[](#features)

- Re-encodes supported image formats to remove metadata and ancillary chunks
- Sanitizes HTML and SVG using strict policy-based cleanup
- Scans PDFs for active content and applies best-effort cleanup
- Scans OOXML documents for risky content such as macros, ActiveX, and external relationships
- Recursively scans ZIP archives, including nested archives, with configurable safety limits
- Scans audio files for suspicious embedded payloads and removes metadata where practical
- Scans video files for suspicious embedded payloads and applies best-effort metadata cleanup
- Supports sanitize-always mode for best-effort cleaning even when risky content is detected
- Pure PHP implementation with no shell access, SSH, or external binaries required

Installation
------------

[](#installation)

```
composer require portavice/filesanitizer
```

For development and tests:

```
composer install
composer test
```

Quick start
-----------

[](#quick-start)

```
