跳到主要内容
版本:v0.21

安装指南

可以选择独立发行文件来运行扫描器。若想要依赖管理或程序化使用,则选择 Composer。

要求

PHP 7.4 或更高版本是必需的。在安装前请先查看 所需扩展

独立发行版

GitHub 发布页面 下载最新 scanner 文件,或者获取当前构建:

curl --fail --silent --show-error --location \
--output scanner \
https://raw.githubusercontent.com/marcocesarato/PHP-Antimalware-Scanner/master/dist/scanner

先检查扫描器版本,然后运行仅报告模式扫描:

php scanner --version
php scanner /var/www/example --lite --report

将扫描器放在扫描目录之外。这样可以避免发行文件和生成的报告出现在扫描范围中。

保持启用 TLS 验证

不要使用 --no-check-certificate 或等效选项。证书检查失败可能表示网络或信任存储存在问题,需要及时处理。

Composer

该软件包发布为 marcocesarato/amwscan

为单个项目安装

composer require marcocesarato/amwscan
php vendor/marcocesarato/amwscan/src/index.php /var/www/example --lite --report

项目安装会将扫描器版本固定在 composer.lock 中,这有助于团队和持续集成使用相同的版本。

为当前用户安装

composer global require marcocesarato/amwscan
php "$(composer global config home)/vendor/marcocesarato/amwscan/src/index.php" /var/www/example --lite --report

在 Windows PowerShell 中:

$composerHome = composer global config home
php "$composerHome\vendor\marcocesarato\amwscan\src\index.php" "C:\Sites\example" --lite --report

源码检出

在参与贡献或测试未发布的更改时,可以使用源码检出:

git clone https://github.com/marcocesarato/PHP-Antimalware-Scanner.git
cd PHP-Antimalware-Scanner
composer install
php src/index.php /var/www/example --lite --report

不要将开发分支当作固定生产版本的静默替代品。

Docker

维护的镜像发布在 Docker Hub

docker pull marcocesarato/php-antimalware-scanner:latest

使用 latest 获取当前稳定版本。在自动化任务中,请固定完整的发布标签,例如 0.19.1

以只读方式挂载扫描目标,并为报告使用单独的输出目录:

docker run --rm \
--volume "/var/www/example:/scan:ro" \
--volume "$PWD/amwscan-output:/output" \
marcocesarato/php-antimalware-scanner:latest /scan \
--lite --report-only --report-format=html \
--path-report=/output/report.html \
--disable-checksum --disable-definitions-update

若要测试本地源码检出中的更改,请在本地构建镜像,并替换上一个命令中的 Docker Hub 镜像名称:

docker build --tag amwscan .

WordPress 插件

WordPress 插件提供了计划扫描、报告审查、上传保护、隔离和受控文件操作等功能,且可以直接在管理界面中使用。

安装 WordPress 插件

验证安装

健康的安装应返回版本号,并在没有 PHP 启动错误的情况下显示帮助:

php scanner --version
php scanner --help

继续阅读 运行首次扫描