标签:php
我正在做一个仅允许jpg的文件上传脚本.
我要检查的脚本是
$size = getimagesize($filename);
$size['mime'];
在大多数情况下都可以.但是,如果我有一个“ gif”文件,并且将扩展名重命名为“ jpg”,则会欺骗系统,因为该文件的mime类型显示为jpg.
我该如何预防?
因此允许jpg和png
Gif不允许
解决方法:
使用$size [2]代替$size [‘mime’](您已经意识到,它是MIME类型,因此并不完全可靠).
one of the IMAGETYPE_XXX constants indicating the type of the image.
页面下方的注释方便地列出了这些常量:
1 = GIF
2 = JPG
3 = PNG
4 = SWF
5 = PSD
6 = BMP
7 = TIFF (Intel byte order)
8 = TIFF (Motorola byte order)
9 = JPC
10 = JP2
11 = JPX
12 = JB2
13 = SWC
14 = IFF
15 = WBMP
16 = XBM
该信息是通过检查文件本身生成的,因此,它是您可使用的最可靠的机制.
标签:php
来源: https://codeday.me/bug/20191102/1992628.html