divineomega/laravel-malware-validation-rule

扫描上传的文件以检测病毒和其他恶意软件

v1.0.0 2020-03-14 18:20 UTC

This package is auto-updated.

Last update: 2024-08-29 05:49:44 UTC


README

Build Status

Laravel Malware Validation Rule 包提供了一项验证规则,用于扫描上传的文件以检测病毒和其他恶意软件。

安装

要安装 Laravel Malware Validation Rule 包,请运行以下命令

composer require divineomega/laravel-malware-validation-rule

此包使用 ClamAV 守护进程执行病毒/恶意软件扫描。您可以使用以下命令在 Ubuntu/Debian 中安装 ClamAV。

sudo apt install clamav-daemon

您的 ClamAV 安装应自动更新病毒定义。但是,您可以使用 freshclam 命令手动更新 ClamAV 病毒定义。建议在更新病毒定义后重启 ClamAV 守护进程,以确保它们生效。

sudo freshclam
sudo service clamav-daemon restart

用法

请参阅以下基本用法示例,该示例演示了如何验证基本文件上传不包含已知的病毒/恶意软件。

use \DivineOmega\LaravelMalwareValidationRule\Rules\Malware;

// ...

public function rules()
{
    return [
        'my_file' => ['required', 'file', new Malware()],
    ];
}

默认情况下,验证规则消息将包含检测到的病毒/恶意软件的名称。如果您不希望恶意软件名称显示在验证消息中,您可以像下面这样将其关闭。

public function rules()
{
    $showMalwareName = false;

    return [
        'my_file' => ['required', 'file', new Malware($showMalwareName)],
    ];
}