2011-05-21 67 views
0

我有一個Web應用程序,允許用戶上傳某些與其賬戶相關的文檔(word/excel/powerpoint等)。我正在用CodeIgniter構建這個,我只是想檢查一下我沒有錯過任何安全明智的東西。允許文檔上傳時的安全考慮

  • MIME類型的文件進行檢查
  • 最大尺寸檢查
  • 文件名被散列
  • 點擊「下載」鏈接,而當文件名是永遠不會被任何用戶看到的,safedownload控制器被稱爲帶有ID(http://www.example.com/safedownload/1245/

有什麼我失蹤了嗎?目錄中文件的CHMOD當前設置爲0600,是否安全?

謝謝。

回答

2

您是否考慮過以後訪問文件的方式?有一個常見的缺陷,你應該知道 -

如果可以任何方式操縱文件路徑,可能是您的服務器可以訪問,完全在您存儲文件的文件夾 - 例如../ ../../etc/somefile

爲了防止出現這種情況,您可以檢查即將訪問'..'的文件路徑,以確保沒有人找到方法在命令中獲取這些字符你的代碼執行!