【发布时间】:2016-03-21 21:56:23
【问题描述】:
我正在构建一个 PHP Web 应用程序,它包括图像上传。我读过有关防止上传假图片的信息。但是什么是假图像,它们如何被用来攻击服务器?
使用 PHP 函数 getimagesize() 并检查文件扩展名是否足以消除所有可能的图像攻击?
【问题讨论】:
-
如果您不知道自己在问什么,最好先弄清楚。否则,您将不知道可能的答案是否真正回答了您的问题。
-
检查文件扩展名并不会阻止任何人上传其他内容。我也从未听说过假图像。只有其中包含可执行代码的图像。它们是有效的图像 - 但您应该完全自行重新创建图像,以消除图像中的可执行代码。
-
不行,
getimagesize()不够用,文件扩展名检查也没用。遗憾的是,我认为没有 100% 可靠的方法,因为即使是服务器端 MIME 检测也非常脆弱。 -
感谢@CharlotteDunois,非常有帮助
标签: php image security upload getimagesize