Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

HTTP Anti-virus

69 sites Security covered
View on drupal.org

This module sends uploaded files to a configurable HTTP service for validation. The service's response determines whether Drupal accepts the file, offering a way to integrate antivirus scanning with a standard web interface.

A Drupal module that submits uploaded files to a HTTP service endpoint. Uploaded files are sent in a configurable manner to a configurable endpoint. The response of which will control if the file can be accepted by Drupal.

The intent is to obfuscate complicated TCP/Sock Anti-virus backends with a standard HTTP interface to allow for a more microservice architecture.

Prerequisites

  1. A service that is reachable via HTTP

API requirements

The module makes some assumptions on how the HTTP request needs to be made. It allows for parts of the request to be configurable to help accommodate differences in service endpoints.

Request

The module will make a request that looks like:

'Headers' => {
  'Content-Type' => 'multipart/form-data'
}
'multipart' => [
  [
    'name' => 'malware',
    'contents' => '@file.png',
    'filename' => 'file.png',
  ]
]

Response

The module assumes that the service will respond with the results in a particular format.

{
  "result": {
    "infected":true,
    "result":"ApplicUnwnt",
    "engine":"5.0.163652.1142",
    "updated":"20190406"
  }
}

The module expects the service to return with the `infected` key to represent if the file can be saved or not. If the `infected` key is `true` the file will fail the validation check in Drupal and will not allow the file to be saved.

Similar projects

  • ClamAV: Anti-virus backend for media management.

Activity

Total releases
6
First release
Feb 2025
Latest release
3 days ago
Releases (12 mo)
5 ▲ from 1
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.1.4 Stable Jul 14, 2026
1.3.2 Stable Jul 14, 2026
1.1.3 Stable May 14, 2026
1.3.1 Stable May 14, 2026
1.3.0 Stable Feb 10, 2026
1.2.0 Stable Feb 24, 2025