niisan-tokyo / web-clamav-php
使用php和clamav通过网页进行病毒扫描。
v0.3.0
2021-09-28 04:32 UTC
Requires (Dev)
- phpunit/phpunit: ^9.2
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守护进程。