ferdynator/clamav-constraint

此仓库为基于 Symfony 的项目提供病毒扫描验证约束。

1.0.0 2018-11-16 16:51 UTC

This package is auto-updated.

Last update: 2024-09-17 10:05:24 UTC


README

MIT Licence

这是一个用于文件上传的定制 Symfony 抗病毒验证器。它使用 Quahog 库连接到正在运行的 clamav Unix 套接字,并扫描上传的文件。

此仓库深受 laravel 的 clamav-validatorTissueBundle 的影响。

安装

composer require ferdynator/clamav-constraint

请确保您已安装 ClamAv

用法

将此约束添加到您选择的实体中

use ferdynator\ClamAvConstraint\Validator\Constraints as VirusAssert;

class JobImage {
    
    ...
    
    /*
     * ...
     * @VirusAssert\ClamAv
     */
    protected $file;

    ...
}

配置

备用套接字

如果您没有使用 Unix 套接字,或者它位于非标准位置,您可以传递一个备用的套接字 URL。

/*
 * ...
 * @VirusAssert\ClamAv(
 *     socket="tcp://0.0.0.0:1234"
 * )
 */
protected $file;

文件权限

clamav 守护进程需要读取上传文件的权限。您可以使用约束的 chmod 选项指定 chmod 模式。

/*
 * ...
 * @VirusAssert\ClamAv(
 *     chmod=0600
 * )
 */
protected $file;