Проверка загрузки документов является необходимостью для любого приложения. Недействительные документы вызывают множество проблем, а также являются распространенным вектором атаки, используемым злоумышленниками. Используя приведенный ниже код, вы можете воспользоваться преимуществами API, который идентифицирует недействительные документы И сканирует файлы на наличие миллионов вирусов и вредоносных программ за один запрос. Установка для параметра «allowInvalidFiles» значения «False» вернет значение «CleanResult: False» в теле ответа API, что упростит удаление опасных и вводящих в заблуждение файлов из процесса загрузки файлов.

Вы можете легко структурировать вызов API, скопировав приведенный ниже готовый к запуску код (при этом используются возможности запроса XHR):

var data = new FormData();
data.append("inputFile", fileInput.files[0], "file");
 
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
     if(this.readyState === 4) {
          console.log(this.responseText);
     }
});

xhr.open("POST", "https://api.cloudmersive.com/virus/scan/file/advanced");
xhr.setRequestHeader("allowExecutables", "<boolean>");
xhr.setRequestHeader("allowInvalidFiles", "<boolean>");
xhr.setRequestHeader("allowScripts", "<boolean>");
xhr.setRequestHeader("allowPasswordProtectedFiles", "<boolean>");
xhr.setRequestHeader("allowMacros", "<boolean>");
xhr.setRequestHeader("allowXmlExternalEntities", "<boolean>");
xhr.setRequestHeader("allowInsecureDeserialization", "<boolean>");
xhr.setRequestHeader("allowHtml", "<boolean>");
xhr.setRequestHeader("restrictFileTypes", "<string>");

xhr.setRequestHeader("Apikey", "YOUR-API-KEY-HERE");

xhr.send(data);

Вы можете бесплатно аутентифицировать свой запрос (с ограничением в 800 вызовов API в месяц и без обязательств) с помощью бесплатного ключа Cloudmersive API. Это все, что нужно сделать — теперь у вас есть быстрое и простое решение для защиты ваших веб-приложений от различных угроз загрузки файлов.