2011-05-21 72 views
0

我有一个Web应用程序,允许用户上传某些与其账户相关的文档(word/excel/powerpoint等)。我正在用CodeIgniter构建这个,我只是想检查一下我没有错过任何安全明智的东西。允许文档上传时的安全考虑

  • MIME类型的文件进行检查
  • 最大尺寸检查
  • 文件名被散列
  • 点击“下载”链接,而当文件名是永远不会被任何用户看到的,safedownload控制器被称为带有ID(http://www.example.com/safedownload/1245/

有什么我失踪了吗?目录中文件的CHMOD当前设置为0600,是否安全?

谢谢。

回答

2

您是否考虑过以后访问文件的方式?有一个常见的缺陷,你应该知道 -

如果可以任何方式操纵文件路径,可能是您的服务器可以访问,完全在您存储文件的文件夹 - 例如../ ../../etc/somefile

为了防止出现这种情况,您可以检查即将访问'..'的文件路径,以确保没有人找到方法在命令中获取这些字符你的代码执行!