【发布时间】:2011-11-18 23:42:04
【问题描述】:
我有一个可供公众使用的文件上传脚本(例如,不是封闭的工作环境),我担心安全性: 我想允许上传任何文件,每个文件都会上传到它自己的唯一目录,显然,我无法控制是否有人上传恶意文件,但处理这些文件的最佳方法是什么?
我想到了:
完全删除扩展名,并且仅在提供要下载的文件时,将它们的原始扩展名返回(因为所有文件名和位置都将保存在 db 中)
创建一个“安全区”以禁止在目录中运行多个扩展。
禁止上传“不安全”的扩展。
当然,问题是: 有太多“不安全”的文件扩展名来计算它们。 尽管文件包含一些代码,但可以将文件屏蔽为“安全”。 以及许多其他安全风险...
所以...有什么建议吗?
【问题讨论】:
-
只要您控制文件的位置以及上传后谁可以访问它们,您就可以控制安全性。该网站的目的是什么?
-
将文件(甚至是 .exe 或 .sh)加载到服务器,并不承认您有权执行它们。
-
本站的目的是上传文件分享。
标签: php security file-upload