【发布时间】:2011-08-20 04:01:37
【问题描述】:
我正在开发一个基于 PHP 的项目管理系统,该系统允许用户上传各种媒体文件。为防止用户上传恶意文件,系统会根据白名单验证 MIME 类型(使用 finfo_file)和扩展名(使用 pathinfo)。
这很有效,但有一个例外:.FLA(Flash 电影创作)文件。不幸的是, finfo_file 无法解析这些文件的 MIME 类型。相反,它会返回这个有点误导的错误消息:
“CDF V2 文档,损坏:无法读取摘要信息”
(我验证了我正在使用的测试 .FLA 实际上并没有损坏。)
显然只检查扩展名是不够的,因为有人要做的就是给恶意脚本一个 .FLA 扩展名来绕过我的保护措施。我还能做些什么来最大限度地提高上传的 .FLA 文件的安全性? (系统必须支持 .FLA 上传 - 这是不可协商的。)
【问题讨论】:
标签: php flash file-upload mime-types