背景:我有一个网站,人们可以在其中存储交易。作为这项交易的一部分,他们可以附加收据,如果他们想要的话。如果允许用户上传所有文件类型扩展名,则存在安全风险
问题:如果允许用户将任何类型的文件扩展名上传到我的网站,是否存在安全风险?
信息:
- 用户将只能不断重新下载同一个文件的人
- 将有用户“运行”文件
- 他们将没有机会只能将其下载回自己。
- 没有其他用户永远不会有机会到其他用户的文件
- 将有上说大小限制(比如2MB)
更多信息:我本来要去的文件限制“pdf/doc/docx” - 但后来实现了一些人可能想要存储JPG,或.xls等 - 并意识到他们“可能”想要存储的文件列表相当大...
编辑:该文件将存储在public_html之外 - 并通过“读取文件()“函数接受文件名(而不是路径) - 那么有什么可以'挫伤'readfile()?
的文件扩展名是没有意义的 - 它不会_really_告诉你有关的任何文件,特别是因为它可以由用户轻易改变。 – nickb
确保你做了基本的消毒,所以用户不能像“myimage /../../../php.ini” – JoeCortopassi