niisan-tokyo/web-clamav-php

使用php和clamav通过网页进行病毒扫描。

v0.3.0 2021-09-28 04:32 UTC

This package is auto-updated.

Last update: 2024-08-28 10:34:14 UTC


README

我们可以通过这个库通过远程网络使用clamav进行扫描。

在使用这个库之前,我们准备一个远程的clamav服务器。例如,我们可以使用以下clamav容器:

docker run -d dinkel/clamavd

用法

执行以下代码。

require 'vendor/autoload.php';

$scanner = \Niisan\ClamAV\ScannerFactory::create([
    'driver' => 'remote',
    'url' => 'example.com'
]);

if (! $scanner->scan($_FILE['userfile']['tmp_name'])) {
    echo 'User file has a virus!';
}

如果文件含有病毒,Scanner::scan 返回false。

配置

当你想知道ScannerFactory的参数配置时,查看example.config.php。

你可以选择驱动,'remote' 或 'local'。当你选择 'remote' 时,配置需要 'host' 或 'remote.host',这意味着clamd的主机:以下内容

[
    'driver' => 'remote',
    'url' => 'examle.com'
];
[
    'driver' => 'remote'
    'remote' => [
        'host' => 'example.com'
    ]
];

或者你选择 'local',配置需要 'path' 或 'local.path',这意味着clamd的Unix套接字。

[
    'driver' => 'local',
    'path' => '/var/run/clamav/clamd.ctl'
]

开发

如果你想开发这个包,一些测试可能会因为clamd服务器没有启动而失败。所以你在测试之前,使用命令 clamd start 来启动clamav守护进程。