2011-04-17 43 views
4

我想方便用户从我的WordPress博客的前端上传个人资料图片。我发现了一个插件“ad local avatar”,它可以帮助我获得同样的效果(直到现在我还没有尝试过)。验证上传文件的大小和病毒

但是我担心如果用户上传一个非常大的文件或病毒感染文件会发生什么。如何在WordPress(或PHP)中执行以下操作:

  1. 将文件保存到服务器之前检查文件大小。它保存到服务器之前(检查文件大小而被上传吧)
  2. 扫描文件内容

回答

8
  1. 文件大小检查。 (检查文件的大小当它被上载)

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

但你可以轻松地设置您的应用程序特定的最大文件大小有一个简单的测试:

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

然后相应地作出反应,并打印错误消息。对于个人资料图片和头像,500K应该足够了。

  • 扫描文件内容
  • 您将需要在服务器上安装了病毒扫描仪,然后。有各种可用。由于它是开源的,许多Unix/Linux服务器可能有clamav。它可以利用这样的PHP:

    exec("clamscan '$filename'", $output, $result); 
    
    if ($result === 0) { 
        // everything ok 
    } 
    

    输出状态$result1病毒或2其他错误。