web-dev-qa-db-ja.com

PHPアップロードでウイルスをチェックするための私のオプションは何ですか?

アップロードされたファイルにウイルスが含まれているかどうかをPHP経由で確認する方法を探しています。どのようなオプションが存在するか、それぞれの長所と短所など。

19
Carl

ClamAV は、サーバーアプリケーションで一般的に使用される無料のアンチウイルスです。

php-clamav は、ClamAVをPHPにバインドするための拡張機能です。あなたは彼らの ドキュメント をチェックすることができます。

clamavをZend Framework Validatorとして使用する方法に関するチュートリアル には、アップロードファイルを検証する方法の説明がすでに含まれています。このチュートリアルは、別のフレームワークまたはアーキテクチャで使用する場合にも役立ちます。

clamscanを使用したコマンドラインインターフェイスからclamavを呼び出すこともできます。これには、clamavをインストールする必要がありますが、PHP拡張機能は必要ありません。PHP側では、Shell_exec('clamscan myuploadedfile.Zip');して出力を解析できます。行OKで終わる行は安全なファイルであり、FOUNDで終わる行は悪意のあるファイルです。

20
alganet

VirusTotal.comを使用できます。これらには、ファイルのアップロードに使用できるAPIがあり、複数のウイルススキャナーを使用してファイルをスキャンします。

https://www.virustotal.com/

(残念ながら、彼らのWebサイトは現在メンテナンス中ですが、すぐに復旧する予定です)

3
Jeroen