2017-10-12 61 views
0

Django == 1.11.6我應該重命名用戶上傳的文件嗎?

有文件上傳攻擊。但現代的Django似乎很好地防止他們。

Django的安全指南是在這裏:

https://docs.djangoproject.com/en/1.11/topics/security/#user-uploaded-content

關於用戶上傳的文件,它比其他的安全指南,要短得多。

在網上我們可以找到這樣的忠告:

應用程序不應該使用用戶提供的文件名。 取而代之的是,上傳的文件應該根據 預定義慣例重新命名。

嗯,我認爲重命名是一個好主意。

我應該重命名用戶上傳的文件還是現代的Django不危險?

回答

1

有幾個原因需要您(有時需要)重命名上傳的文件。所以,Django是否對攻擊採取了很好的措施並不重要。

  • 你必須處理重複的文件名稱
  • 文件名可以是veeery長
  • 文件名可以包含未通過後端的文件系統中的文件名支持
  • 特殊字符的字符會導致當您想要使用URL訪問文件時出現問題
  • 文件名可以包含小寫/大寫字符,這可能會導致在不區分大小寫的文件系統上重複使用