Pass-15

1.根据题意,本pass使用exif_imagetype()检查是否为图片文件!

function isImage($filename){
    //需要开启php_exif模块
    $image_type = exif_imagetype($filename);
    switch ($image_type) {
        case IMAGETYPE_GIF:
            return "gif";
            break;
        case IMAGETYPE_JPEG:
            return "jpg";
            break;
        case IMAGETYPE_PNG:
            return "png";
            break;    
        default:
            return false;
            break;
    }
}

$is_upload = false;
$msg = null;
if(isset($_POST['submit'])){
    $temp_file = $_FILES['upload_file']['tmp_name'];
    $res = isImage($temp_file);
    if(!$res){
        $msg = "文件未知,上传失败!";
    }else{
        $img_path = UPLOAD_PATH."/".rand(10, 99).date("YmdHis").".".$res;
        if(move_uploaded_file($temp_file,$img_path)){
            $is_upload = true;
        } else {
            $msg = "上传出错!";
        }
    }
}

根据查询,exif_imagetype() — 判断一个图像的类型

返回值:

图像类型常量 值     常量
1     IMAGETYPE_GIF
2     IMAGETYPE_JPEG
3     IMAGETYPE_PNG
4     IMAGETYPE_SWF
5     IMAGETYPE_PSD
6     IMAGETYPE_BMP
7     IMAGETYPE_TIFF_II(Intel 字节顺序)
8     IMAGETYPE_TIFF_MM(Motorola 字节顺序)
9     IMAGETYPE_JPC
10     IMAGETYPE_JP2
11     IMAGETYPE_JPX
12     IMAGETYPE_JB2
13     IMAGETYPE_SWC
14     IMAGETYPE_IFF
15     IMAGETYPE_WBMP
16     IMAGETYPE_XBM

2.上传制作的图片马,上传成功。

 

 

posted @ 2021-07-22 17:47  Nuyoah_QQ  阅读(135)  评论(0)    收藏  举报