过滤用户上传内容的恶意文件类型

时间:2012-07-06 20:54:48

标签: php virus malware

我正在使用simple file upload script。该脚本允许文件类型过滤,但我不确定应该允许/禁止哪些文件。

我应该阻止哪些文件类型上传?

4 个答案:

答案 0 :(得分:1)

您应该只允许所需的类型(白名单)。你永远不知道你的服务器,php或人们可以创建的文件类型以及他们可以对服务器做些什么可以改变什么。

似乎没有理由牺牲安全性来换取更少的类型检查。

答案 1 :(得分:1)

找到了这个(放入.htaccess):

php_flag engine off

哪个'关闭'php,所以文件无法运行!然后你可以允许上传你想要的任何内容

(感谢Pekka的链接)

答案 2 :(得分:1)

$ _FILES中提供的mime是从浏览器发送的,因此信任它是不安全的。 还有其他功能来确定文件的mime,但请注意,大多数函数都依赖于文件扩展名。这是一种很难确定它的方法,因为我可以轻松地将.exe重命名为.png,并且函数会报告它是一个图像。我不确定您的需求,但您可以将脚本限制为仅允许图像文件,并检查它们是否真的是带有imagemagick或gd库的图像。

没有文件对服务器有危险。但是,如果安全性中存在允许运行用户文件的缺陷,则任何文件都可能构成潜在威胁。

我建议不要拒绝某些文件类型,但允许一些用户可能想要上传的文件类型。

答案 3 :(得分:0)

不要制作黑名单。而是制作允许的文件类型的白名单。