Sitecore Forms Antivirusbeveiliging

Door Marek Musielak, 09/07/2026

Een tijdje geleden schreef ik een blogpost over hoe je de Sitecore Media Library kunt beveiligen met ClamAV antivirus. Die aanpak werkt goed, maar is enkel van toepassing op content authors die bestanden uploaden via de Sitecore Media Library. Bij Sitecore Forms ligt dat anders: bestand-uploads staan daar open voor iedereen, wat betekent dat een niet-geauthenticeerde bezoeker zou kunnen proberen om een kwaadaardig bestand rechtstreeks in je omgeving te plaatsen. In dit artikel overlopen we de stappen die nodig zijn om bestanden die via Sitecore Forms worden ingediend te valideren en te scannen voordat ze worden opgeslagen.

Opmerking: de installatie en configuratie van ClamAV, samen met de implementatie van IAntivirusService, worden in detail beschreven in Protect Sitecore Media Library with ClamAV antivirus.

Ervan uitgaande dat ClamAV al geïnstalleerd is en IAntivirusService geregistreerd is in je solution, is de volgende stap het bouwen van een Sitecore Forms validator die voorkomt dat kwaadaardige bestanden worden opgeslagen in de database of verder worden verwerkt. Laten we starten met het aanmaken van een class:

Contacteer ons

Ben je zeker dat je Sitecore-oplossing veilig is? Wil je dat we samen even naar je opzet kijken? We helpen graag.

public class AntivirusValidator : ValidationElement<string>
{
    private IAntivirusService _antivirusService;

    protected virtual IAntivirusService AntivirusService => _antivirusService 
        ?? (_antivirusService = ServiceLocator.ServiceProvider.GetService<IAntivirusService>());

    public AntivirusValidator(ValidationDataModel validationItem) : base(validationItem)
    {
    }

    public override IEnumerable<ModelClientValidationRule> ClientValidationRules => new List<ModelClientValidationRule>();

    public override ValidationResult Validate(object value)
    {
        if (!(value is List<HttpPostedFileBase> httpPostedFileBaseList) || !httpPostedFileBaseList.Any())
            return ValidationResult.Success;

        foreach (var postedFile in httpPostedFileBaseList)
        {
            if (!AntivirusService.IsFileSafe(postedFile.InputStream, postedFile.FileName))
            {
                return new ValidationResult(FormatMessage(postedFile.FileName));
            }
        }

        return ValidationResult.Success;
    }
}

Deze class loopt over elk bestand dat via een Sitecore Forms veld wordt ingediend en geeft een foutmelding als een van die bestanden onveilig blijkt te zijn.

Maak vervolgens een validator item aan onder /sitecore/system/Settings/Forms/Validations/Antivirus Validator met:

Type: MyAssembly.MyNamespace.AntivirusValidator, MyAssembly

Message: We cannot process the file '{0}'. Please try again or use a different file.

sitecore-forms-antivirus-validator-minimized.webp

Selecteer daarna je nieuwe validator in het veld Allowed Validations van het item /sitecore/system/Settings/Forms/Field Types/Basic/File Upload:

sitecore-forms-file-upload-validation-minimized.webp

Als je wilt dat de validatie automatisch wordt toegepast op elk File Upload veld van Sitecore Forms, selecteer je die validator ten slotte op het standard values item /sitecore/templates/System/Forms/Fields/File Upload/__Standard Values:

sitecore-forms-file-upload-standard-values-minimized.webp

En dat is het. Vanaf nu wordt elk bestand dat via een Sitecore Form wordt ingediend, gescand door de antivirusservice, zodat er geen schadelijke bestanden in je systeem terechtkomen.

Most Valuable Professional_Sitecore_Marek Musielak.png (1)

Laten we het over beveiliging hebben

Krijg deskundig advies over de bescherming van je Sitecore-oplossing

Of het nu gaat om antivirusvalidatie, toegangscontrole of een bredere security review, ons team helpt je om de risico's weg te werken voordat ze een probleem worden. Vul het formulier in en we nemen contact met je op.

Cookie Policy

Onze site maakt gebruik van cookies om de website-ervaring te verbeteren. Door onze website te gebruiken, gaat u akkoord met ons gebruik van cookies. Klik hier voor meer informatie.

Voorkeur opslaan