如何判断浏览器上传文件的真实类型?

小编于 2020-06-18 发表,建站、SEO、排名优化服务    热度:130

如何判断浏览器上传文件的真实类型?

问题:

比如用户要上传一个图片,你怎么知道用户上传的是不是一个图片呢?

1.后缀名显然不可靠,最容易伪造

2.表单里的mime信息也不可靠,所有的表单信息都可以伪造

我如何判断它的类型呢?需要去解析这个二进制文件吗?

方法:

如果是图片可以通过 getimagesize() 获取图片的 mime,这样便不依赖

普通文件可以通过:

1. finfo 扩展

2. mime_content_type()

3. 调用linux命令 exec("file -bi ".escapeshellarg($this->file_src_pathname))来检测

选择合适的一种检测文档类型已经够用了。