您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

php防止图片木马上传

2024/4/24 8:05:47发布4次查看
'没有错误发生,文件上传成功。', '1' => '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。', '2' => '上传文件的大小超过了 html 表单中 max_file_size 选项指定的值。', '3' => '文件只有部分被上传。', '4' => '没有文件上传。', '5' => '未能通过安全检查的文件。', '6' => '找不到临时文件夹。', '7' => '文件写入失败。', '8' => '文件类型不支持', '9' => '上传的临时文件丢失。', ); //@ 开始执行文件上传 public static function start($feild = 'file') { if (!empty($_files)) { self::$status = $_files[$feild]['error']; if (self::$status > 0) return array('status' => self::$status, 'msg' => self::$message[self::$status]); self::$image = $_files[$feild]['tmp_name']; self::$suffix = strtolower(strrchr($_files[$feild]['name'], '.')); return array('status' => self::_upload(), 'path' => self::$image, 'msg' => self::$message[self::$status]); } else { return array('status' => self::$status, 'msg' => self::$message[self::$status]); } } //@ 私有 上传开始 private static function _upload($path = './upload/') { date_default_timezone_set('prc'); $newfile = $path . date('y/m/d/his') . rand(100, 999) . self::$suffix; self::umkdir(dirname($newfile)); if (is_uploaded_file(self::$image) && move_uploaded_file(self::$image, $newfile)) { self::$image = $newfile; if (in_array(self::$suffix, self::$imagetype)) return self::checkhex(); else return self::$status = 0; } else { return self::$status = 9; } } //@ 私有 16进制检测 private static function checkhex() { if (file_exists(self::$image)) { $resource = fopen(self::$image, 'rb'); $filesize = filesize(self::$image); fseek($resource, 0); if ($filesize > 512) { // 取头和尾 $hexcode = bin2hex(fread($resource, 512)); fseek($resource, $filesize - 512); $hexcode .= bin2hex(fread($resource, 512)); } else { // 取全部 $hexcode = bin2hex(fread($resource, $filesize)); } fclose($resource); /* 匹配16进制中的 */ /* 匹配16进制中的 ( ) ?> */ /* 匹配16进制中的
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录