验证上传文件的大小和病毒

5
我希望能够在我的WordPress博客上方便用户从前端上传个人资料图片。我发现一个插件“本地头像”,可以帮助我实现这一点(直到现在我还没有尝试过)。
但是我担心如果用户上传一个非常大的文件或者带有病毒的文件会发生什么。我应该如何在WordPress(或PHP)中实现以下操作:
  1. 保存到服务器之前检查文件大小。(在上传文件时检查文件大小)
  2. 扫描文件内容
1个回答

8
  1. 在将文件保存到服务器之前,检查文件大小。(上传时检查文件大小)

当PHP解码POST请求时,会检查最大文件大小。它在php.ini中使用upload_max_filesize设置。通常是约10MB左右。

但您可以通过简单的测试轻松设置应用程序特定的最大文件大小:

if ($_FILES["image"]["size"] >= 500000) {

根据情况做出反应并打印错误消息。500K对于个人资料图片和头像应该足够了。

  1. 扫描文件内容

然后你需要在服务器上安装一个病毒扫描程序。有各种可用的程序。由于它是开源的,许多Unix/Linux服务器可能会有clamav。可以按照以下方式从PHP中利用它:

exec("clamscan '$filename'", $output, $result);

if ($result === 0) {
     // everything ok
}

输出状态$result对于病毒将是1,对于其他错误将是2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接