是否需要对上传文件的格式进行限制,不限制是否有风险

更新日期: 2019-11-19 阅读次数: 4054 字数: 242 分类: 安全

我目前正在实现一个文件上传功能,用来接收客户上传文件,然后工作人员后台查看。

但是,我并不确定客户会上传什么格式的文件。

起初我想直接放开限制,即,不限制用户的上传文件格式。但总觉得不对劲,似乎没有看到过哪个网站允许随意上传文件格式。于是网上查了一下,发现这样做确实非常危险。

不限制文件格式的风险包含哪些

  • 上传的 PHP 文件,拿到文件路径之后,允许直接执行。
  • 文件名中包含相对路径的情况,例如,"../../etc/passwd",如果不对文件名进行更改的化,可能覆盖系统文件。例如,/etc/passwd。

预防措施

  • 自动生成文件名。不使用用户的文件名
  • 设置文件类型白名单
  • 前后端均检查文件类型

参考

https://juejin.im/post/5d196b196fb9a07ebd48ecb1

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式