PHP文件真实的Mime

时间:2017-12-08 16:18:14

标签: php file upload mime

我已经完成了将文件上传到DB的功能。用户(上传者)可以上传pdf png或jpeg文件。所有其他人都不被允许。但是有办法去攻击'它。用户可以在自己的计算机上拥有一个文件(例如PHP文件)。他会将文件重命名为' test.jpg'来自' test.php'。然后他会将重命名的文件上传为jpg,当程序检查文件时,它会上传它,因为它会返回,它是jpg(image / jpeg)。有没有办法检查文件是否真的是jpeg / png /...?

E:我不想只上传图片。一般上传的文件可能是另一种格式,所以我不能使用函数imagesize()。

2 个答案:

答案 0 :(得分:0)

有一个本机PHP函数mime_content_type,它返回文件的MIME内容类型,这是使用magic.mime文件中的信息确定的。

答案 1 :(得分:-1)

对于PHP< 5.3使用mime_content_type()

对于PHP> 5.3使用finfo_fopen()

也许这个答案会对你有所帮助。 click here