Hap*_*per 5 php security upload image mime-types
我需要接受来自用户的图像文件上传.
我如何检查并100%确定我没有收到恶意文件?
检查哑剧类型?重新绘制图像?防病毒?
重绘图像,以阅读起来GD的imagecreatefromXXX(),并保存它带回imageXXX()
这样,您还可以将其缩放到更方便的尺寸,并控制带宽消耗.
为了节省计算能力,请拒绝上传到大于某个限制的文件.
5megs或10megs应该是好的,因为限制.
保持GD更新,并警惕(7年前,显然)它曾用于处理PNG图像运动缓冲区溢出
或者,你也可以上传预处理背景与命令图像,如ImageMagick的的
convert和这样的.警告的最后一点:在Windo(w)
convert上也是一个用于格式化硬盘的命令,因此如果部署硬盘就要付出一些努力来消除歧义.
如果您担心恶意文件,请使用防病毒检查器,或者更好的是,使用两个防病毒检查器,因为其中一个可能会滞后于特定的新病毒。
MIME 类型可以被欺骗,就像使用file.
您可以使用代码打开它,检查所有块的大小是否正确,但漏洞利用了用于打开图像的代码中的缺陷。如果您的代码没有经过强化并且没有意识到它可能被利用的所有方式,那么您可能会在您的主机/服务器上打开利用之门 - 这几乎是先有鸡还是先有蛋的情况,因此我更倾向于信任几个防病毒工具。