アップロードされたファイルにウイルスが含まれているかどうかをPHP経由で確認する方法を探しています。どのようなオプションが存在するか、それぞれの長所と短所など。
ClamAV は、サーバーアプリケーションで一般的に使用される無料のアンチウイルスです。
php-clamav は、ClamAVをPHPにバインドするための拡張機能です。あなたは彼らの ドキュメント をチェックすることができます。
clamavをZend Framework Validatorとして使用する方法に関するチュートリアル には、アップロードファイルを検証する方法の説明がすでに含まれています。このチュートリアルは、別のフレームワークまたはアーキテクチャで使用する場合にも役立ちます。
clamscan
を使用したコマンドラインインターフェイスからclamavを呼び出すこともできます。これには、clamavをインストールする必要がありますが、PHP拡張機能は必要ありません。PHP側では、Shell_exec('clamscan myuploadedfile.Zip');
して出力を解析できます。行OK
で終わる行は安全なファイルであり、FOUND
で終わる行は悪意のあるファイルです。
VirusTotal.comを使用できます。これらには、ファイルのアップロードに使用できるAPIがあり、複数のウイルススキャナーを使用してファイルをスキャンします。
(残念ながら、彼らのWebサイトは現在メンテナンス中ですが、すぐに復旧する予定です)