我允许用户上传相册之类的照片,也可以将文件(目前是文档)作为邮件附件。所以我假设我需要一些防病毒/安全工具来首先扫描文件,以防人们上传受感染的东西。所以两个问题: 1) 是否有任何“免费”或开源工具可供我使用或集成到我的环境中:codeignitor php? 2) 如何从系统的其余部分保护上传区域?说杀毒软件没抓到病毒,上传了,如何防止它感染其他文件?比如上传区域是否可以被沙盒化或始终使用该文件路径供用户访问内容,这样它就不会传播到系统的其他部分?
最佳答案
有免费的病毒扫描程序 clamav。安装它,您可以执行以下操作:
function virus_detected($filename)
{
$clamscan = "/usr/local/bin/clamscan";
$result = exec("$clamscan -i --no-summary $filename");
return strlen($result)?true:false;
}
至于安全性,请确保将临时文件上传到 Web 根目录之外的目录。然后您应该验证文件类型,将文件重命名为原始文件名以外的名称并附加适当的扩展名(gif、jpg、bmp、png)。我相信除了 php 本身的漏洞之外,这应该让您相当安全。
有关在 php 中验证文件类型的更多信息,请查看: http://www.php.net/manual/en/function.finfo-file.php
关于database - 文件上传的免费服务器端防病毒/安全/木马保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4948576/