我想看看如何通过 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,您可以使用它来上传文件,他们将使用多个病毒扫描程序来扫描它们。
ClamAV 是一个很好的免费开源工具,它通过多个 Packagist 选项集成到 PHP 中。这个非常流行且易于使用:https://packagist.org/packages/xenolope/quahog