如何配置 PHP 以使用 `clamscan` 自动扫描上传的文件?
Posted
技术标签:
【中文标题】如何配置 PHP 以使用 `clamscan` 自动扫描上传的文件?【英文标题】:How to configure PHP to automatically scan uploaded files with `clamscan`? 【发布时间】:2012-08-10 06:37:14 【问题描述】:我有一个想法可以让所有运行 php 的 Linux 服务器更加安全。
我想配置 php.ini
文件上传以使用 ClamAV 的 clamscan
扫描任何新文件上传。
有可能吗?应该如何配置?
【问题讨论】:
无法通过 php.ini。您可以使用其临时名称$_FILES['whatever']['tmp_name']
和 exec() 手动调用外部 CLI 扫描程序对上传的文件进行扫描。
Dymanically running ClamAV's clamscan on file uploads with PHP 的可能重复项
mario ,我的意思是 php.ini auto 。如果找到并工作,它将与任何上传脚本一起工作,在任何地方上传任何文件
没有这样的功能。正如你已经被告知的那样。
有 nginx 或 php-fpm 的选项吗?
【参考方案1】:
虽然在 PHP 脚本中有 libraries 用于与 ClamAV 交互,但无法自动扫描所有上传的文件。
主要是因为灵活性。例如,如果您运行一个安全网站来跟踪各种病毒并存储每个病毒的副本,ClamAV 会在上传过程中接触到它们,从而使您的网站变得无用。更好的方法是在客户端代码中执行此操作,并使用上面链接中的库之一执行扫描。
话虽如此,我不相信这是不可能实现的。您可以 write a PHP extension 挂钩到文件上传以自动在上传的文件上运行 ClamAV。
【讨论】:
wiki.nginx.org/HttpUploadProgressModule#track_uploads wiki.nginx.org/HttpUploadProgressModule#report_uploads 我们可以使用这两个网址吗?? 我猜你也可以分叉那个模块并修改它,以便它使用 ClamAV 扫描任何上传的文件。以上是关于如何配置 PHP 以使用 `clamscan` 自动扫描上传的文件?的主要内容,如果未能解决你的问题,请参考以下文章
编写将多个“受感染文件”输出添加在一起的 Clamscan 摘要脚本