dmk / mkcleaner
根据BSI指南,使用mat2、exiftool和qpdf等工具清除文件中的任何元数据。
Requires
- php: ^8.1 || ^8.2 || ^8.3
- typo3/cms-core: ^11.5 || ^12.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- php-parallel-lint/php-parallel-lint: ^1.3
- phpcompatibility/php-compatibility: ^9.3.5
- phpmd/phpmd: ^2.13
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.9
- rector/rector: ^1.0
- saschaegerer/phpstan-typo3: ^1.8
- sebastian/phpcpd: ^4.0 || ^5.0 || ^6.0
- ssch/typo3-rector: ^2.5
- typo3/testing-framework: ^6.0 | ^7.0
This package is auto-updated.
Last update: 2024-09-02 08:11:08 UTC
README
它做什么?
此扩展根据BSI指南删除大多数元数据来清理文件。这是安全方面的重要步骤,因此不会泄露敏感信息。目前使用mat2 (https://0xacab.org/jvoisin/mat2)、exiftool (https://exiftool.org/) 和 qpdf (https://github.com/qpdf/qpdf) 来完成。您需要在服务器CLI上安装/提供这些命令。如果某些命令在全局范围内不可用,则可以通过 $GLOBALS['TYPO3_CONF_VARS']['SYS']['binSetup']
或 $GLOBALS['TYPO3_CONF_VARS']['SYS']['binPath']
配置路径。
上传文件等操作后,请检查日志以查找错误。
设置完成后,几乎每个通过TYPO3 FAL API添加/替换的文件都将被清理。此外,还有一个可以用于对特定文件夹进行初始清理的计划任务。
添加自定义清理器
可以通过以下方式在 ext_localconf.php
中添加自定义清理器
\DMK\Mkcleaner\Cleaner\Registry::registerCleaner(\Vendor\Package\Cleaner\CustomCleaner::class, 100);
每个清理器都需要实现 DMK\Mkcleaner\Cleaner\CleanerInterface
。请查看现有清理器。
缺点
请注意,这些工具都不是完美的,可能会损坏文件或留下元数据。例如,当使用mat2时,PDF文件有时会丢失所有链接,或SVG文件的内容会发生变化。因此,PDF文件使用exiftool和qpdf而不是mat2进行清理,而SVG文件则完全省略。请自行注意处理不包含元数据的SVG文件。
变更日志
v12.0.1: 优化描述 v12.0.0: 仅适用于TYPO3 11.5和12.4的兼容性 v8.0.2: 添加一些错误处理 v8.0.1: 解决符号链接 v8.0.0: 初次发布