阻止上载在PHP中使用png或jpg重命名的gif图像

阻止上载在PHP中使用png或jpg重命名的gif图像,php,image,Php,Image,我有一个上传系统,用户只能上传png和jpg图像,但是,如果用户将gif图像重命名为.png,例如,系统正常上传gif图像,那么,如何阻止gif图像和其他非png或jpg的扩展?我的代码: $imageNameBefore = $_FILES["the_image"]["name"]; $imageNameBeforeExt = basename($nomeImgAntes); $imageNameExt = pathinfo($imageNameBeforeExt, PATHINFO_EXTE

我有一个上传系统,用户只能上传png和jpg图像,但是,如果用户将gif图像重命名为.png,例如,系统正常上传gif图像,那么,如何阻止gif图像和其他非png或jpg的扩展?我的代码:

$imageNameBefore = $_FILES["the_image"]["name"];
$imageNameBeforeExt = basename($nomeImgAntes);
$imageNameExt = pathinfo($imageNameBeforeExt, PATHINFO_EXTENSION);
$allowedExt = array("jpg", "jpeg", "png");

if(!in_array($imageNameExt, $allowedExt )) {
    echo "Only images with extensions jpg or png are accepted!";
} else {
    $imageNameTmp = $_FILES["the_image"]["tmp_name"];
    $imageNameDir = "../photos";

    $nameImageEnd = md5($imageNameTmp).$imageNameExt;
    move_uploaded_file($imageNameTmp, ($imageNameDir.$nameImageEnd));

    imagedestroy($imageNameTmp);
}

不检查文件名,而是通过“解析”整个内容(例如,将图像加载到gd)或通过魔法字节(例如,文件的某些部分必须存在并包含特定值,才能至少成为有效的png/jpeg图像)检查文件内容


-
-

-

到目前为止,您尝试了什么?我将尝试使用imagecreatefromjpeg和imagecreatefrompng函数这是您代码的全部功能吗?你在使用什么框架吗?不使用框架,纯php