Сканировать загруженные файлы для malwares под Windows с помощью PHP

Я пытаюсь установить ClamAV на Windows, но я не могу найти, как это сделать.

На самом деле я хочу проверить файлы, загруженные с помощью malwares, и вернуть значение, подобное «безопасному» или «зараженному: X»,

Считаете ли вы, что это возможно в Windows с использованием бесплатной библиотеки?

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

Solutions Collecting From Web of "Сканировать загруженные файлы для malwares под Windows с помощью PHP"

Мне удалось это сделать, установив ClamWin на Windows 2008 Server. (ClamWin-0.97.6). Я создал файл eicar.txt , чтобы проверить обнаружение:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* 

Созданный файл test.php :

 <?php $file = 'C:/Users/Localadmin/Desktop/testfile/eicar.txt'; // infected test file $db = '"C:/Documents and Settings/All Users/.clamwin/db/"'; // path to database of virus definition $scan_result = shell_exec("D:/programs/clamwin/bin/clamscan --database=$db $file"); echo $scan_result; ?> 

Это дает мне такой результат:

 Eicar-Test-Signature FOUND ----------- SCAN SUMMARY ----------- Known viruses: 1568163 Engine version: 0.97.6 Scanned directories: 0 Scanned files: 1 Infected files: 1 Data scanned: 0.00 MB Data read: 0.00 MB (ratio 0.00:1) Time: 7.363 sec (0 m 7 s) 

Затем вы можете обработать строку $ scan_result, чтобы выяснить, какой номер был возвращен после «Зараженные файлы:» .

Я буду использовать его для сканирования файлов, загруженных через форму, и поскольку для сканирования требуется время (7 секунд), я буду использовать какой-то сценарий ajax, который может хорошо вернуть обратную связь пользователю, например « Загрузка файла … » и « Сканирование на наличие вирусов». .

Вы можете установить clamav для windows (clamwin) и использовать функцию passthru php для сканирования файла через командную строку и получения вывода обратно. Затем проанализируйте это сообщение. Вам нужно будет настроить значение тайм-аута php или настроить приложение для загрузки, заставить пользователя постоянно обновлять статус, а фоновый скрипт сканирует и вставляет результат в базу данных или что-то в этом роде. Попробуйте взглянуть на virustotal.com, они сделают это и сканируют его более чем 20 av-сканерами.