当前位置: 代码迷 >> PHP >> 为什么要用finfo_file 而不是直接用上传数组的type?该如何解决
  详细解决方案

为什么要用finfo_file 而不是直接用上传数组的type?该如何解决

热度:52   发布时间:2016-04-28 17:52:33.0
为什么要用finfo_file 而不是直接用上传数组的type???
最近研究图片上传类;

里面用 finfo_file() 来检测文件mime;  

很是费解: 上传的数组中明明就有type="", 和finfo_file() 的结果是一样的;

请问: 为何多此一举,用finfo_file() 再次检测mime呢?   无论怎么改后缀,数组的type和finfo_file的结果都是相同的;

唯一的解释就是: 黑客可以修改上传文件的数组,感觉不太现实啊. 按照这种道理,是不是所有未经过finfo_file() 检测的都有漏洞?不可能啊.. 


求解释为何要再次使用finfo_file()来对上传的文件MIME再次校正
------解决思路----------------------
注意 finfo_file 只在 php5.3 以上才可用

上传文件的类型是浏览器识别的,同一种文件,不同的浏览器判定的可能不同
finfo_file 用于在服务器端判断,这样就统一了不同浏览器间的差异
  相关解决方案