我要重命名用户上传的文件吗?

时间:2017-10-12 08:10:09

标签: django

的Django == 1.11.6

存在文件上传攻击。但现代Django似乎很好地防范了他们。

Django安全指南在这里:

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

关于用户上传的文件,它比其他安全指南短得多。

在互联网上我们可以找到这样的建议:

  

应用程序不应使用用户提供的文件名。   相反,应根据a重命名上传的文件   预定的惯例。

嗯,我认为重命名是个好主意。

我应该重命名用户上传的文件,还是在现代Django的情况下不危险?

1 个答案:

答案 0 :(得分:1)

您应该(在某些情况下需要)重命名上传的文件有几个原因。因此,Django是否有针对某些攻击的良好措施并不重要。

  • 您必须处理重复的文件名
  • 文件名可以很长
  • 文件名可以包含后端文件系统不支持的字符
  • 如果要使用URL
  • 访问文件,文件名中的特殊字符可能会导致问题
  • 文件名可以包含大写/小写字符,这可能导致对不区分大小写的文件系统重复