ipedis/file-sanitizer
Composer 安装命令:
composer require ipedis/file-sanitizer
包简介
Library for sanitizing HTML and XML files
README 文档
README
Pipeline-based HTML and XML sanitizer for PHP. Removes script tags, event handlers, PHP tags, CDATA injections, and other XSS vectors through a configurable chain of cleanup steps.
Installation
composer require ipedis/file-sanitizer
Quick Start
use Ipedis\FileSanitizer\Sanitizer\Sanitize; $sanitizer = new Sanitize(type: 'html'); $result = $sanitizer->process('<div onclick="alert(1)"><script>evil()</script>Hello</div>'); echo $result->getContent(); // <div>Hello</div>
XML sanitization
$sanitizer = new Sanitize(type: 'xml'); $result = $sanitizer->process($xmlContent);
Custom configuration
use Ipedis\FileSanitizer\Configuration\Configuration; use Ipedis\FileSanitizer\Pipeline\Steps\PhpTagCleanupStep; // Skip specific steps $config = new Configuration( ignoredSteps: [PhpTagCleanupStep::class], ); $sanitizer = new Sanitize(type: 'html', configuration: $config);
Custom cleanup steps
use Ipedis\FileSanitizer\Pipeline\Steps\CleanupStepAbstract; use Ipedis\FileSanitizer\Pipeline\Payload; class MyCustomStep extends CleanupStepAbstract { protected function process(Payload $payload): Payload { $content = preg_replace('/pattern/', '', $payload->getContent()); return $payload->setContent($content); } } $config = new Configuration(customSteps: [MyCustomStep::class]); $sanitizer = new Sanitize(type: 'html', configuration: $config);
Cleanup Steps
HTML pipeline
| Step | What it removes |
|---|---|
DecodeTagCleanupStep |
Decodes HTML entities (<script> → <script>) |
PhpTagCleanupStep |
PHP tags (<?php, <?, ?>) |
ScriptTagCleanupStep |
<script> blocks |
AttributeCleanupStep |
Event handlers (onclick, onerror...) and javascript: URLs |
StyleTagCleanupStep |
<style> blocks containing JavaScript |
XML pipeline
| Step | What it removes |
|---|---|
DecodeTagCleanupStep |
Decodes HTML entities |
CdataTagCleanupStep |
CDATA injection patterns |
ScriptTagCleanupStep |
<script> blocks |
Compatibility
| PHP | Status |
|---|---|
| 8.2 | ✅ |
| 8.3 | ✅ |
| 8.4 | ✅ |
| 8.5 | ✅ |
Local Development
Requires Docker.
make up # Start container make install # Install dependencies make qa # Run full QA suite (rector + pint + phpstan + tests)
Available targets:
| Command | Description |
|---|---|
make up |
Start container |
make down |
Stop container |
make install |
Install Composer dependencies |
make update |
Update Composer dependencies |
make test |
Run PHPUnit tests |
make phpstan |
Run static analysis (level max) |
make pint |
Fix code style (PSR-12) |
make rector |
Run automated refactoring |
make qa |
Run all checks |
make shell |
Open container shell |
Disclaimer
This package is maintained by Ipedis. It is provided as-is under the terms of its license.
ipedis/file-sanitizer 适用场景与选型建议
ipedis/file-sanitizer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 30 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 ipedis/file-sanitizer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ipedis/file-sanitizer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 30
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 27
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2026-03-25