2011-04-17 124 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其他錯誤。