Skip to content

This repository provides a virus scan validator constraint for Symfony-based projects

Notifications You must be signed in to change notification settings

ferdynator/clamav-constraint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

ClamAv-Constraint

MIT Licence

This is a custom Symfony anti-virus validator for file uploads. It uses the Quahog library to connect to a running clamav unix socket and scan the uploaded file.

This repository is strongly influenced by the clamav-validator for laravel and the TissueBundle.

Installation

composer require ferdynator/clamav-constraint

Also make sure you have ClamAv installed.

Usage

Add this constraint in your entity of choice:

use ferdynator\ClamAvConstraint\Validator\Constraints as VirusAssert;

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

    ...
}

Configuration

Alternative socket

In case you are not using a unix socket or have it in a non-standard position you can pass an alternative socket-url:

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

File permissions

The clamav daemon needs read-access to the uploaded file. You can specify a chmod-mode with the chmod option of the constraint.

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

About

This repository provides a virus scan validator constraint for Symfony-based projects

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages