2012-05-18 16 views
16

Ich schaue, wie ich überprüfen kann, ob eine hochgeladene Datei einen Virus hat oder nicht über PHP. Welche Optionen existieren, Vor- und Nachteile von jedem, etc.Welche Möglichkeiten habe ich, um bei einem PHP-Upload nach Viren zu suchen?

+0

Vermeiden Sie einfach unerwünschte Erweiterungen beim Hochladen von Dateien. prüfen, wie Dateierweiterungen eingeschränkt werden können http://StackOverflow.com/Questions/10456113/PHP-Check-File-Extension-in-Upload-form –

+3

Durch die Vermeidung unerwünschter Erweiterungen werden keine Viren vermieden. – Daniel

Antwort

17

ClamAV ist ein kostenloser Anti-Virus häufig auf Server-Anwendungen verwendet.

php-clamav ist eine Erweiterung für die Bindung von ClamAV an PHP. Sie können ihre documentation überprüfen.

Ich habe eine tutorial on how to use clamav as a Zend Framework Validator gefunden, die bereits Anweisungen zur Überprüfung von Upload-Dateien enthält. Das Lernprogramm sollte Ihnen auch bei der Verwendung in anderen Frameworks oder Architekturen helfen.

Sie können clamav auch über die Befehlszeilenschnittstelle mit clamscan aufrufen. Dies erfordert, dass clamav installiert wird, aber nicht die PHP-Erweiterung. Auf der PHP-Seite können Sie shell_exec('clamscan myuploadedfile.zip'); dann die Ausgabe analysieren. Zeilen mit der Endung OK sind sichere Dateien, Zeilen mit der Endung FOUND sind bösartige Dateien.

2

Sie können VirusTotal.com verwenden, sie haben eine API, die Sie verwenden können, um Dateien hochzuladen, und sie werden sie mit mehreren Virenscannern scannen.

https://www.virustotal.com/

(leider ist ihre Website gerade gewartet, aber ich erwarte, dass es bis bald genug, um zurück)

+0

Sehr gut, da Sie eine API zum Scannen Ihrer Datei-URL verwenden können. Die öffentliche Version ist jedoch auf maximal 4 Anfragen beliebiger Art innerhalb eines vorgegebenen Zeitraums von 1 Minute beschränkt. – Daniel