图片上传安全处理

对于用户上传的图片,必须要进行判断和处理,防止含有恶意代码的图片上传到服务器,造成安全隐患。

处理原理:对图片类型进行简单的检测,并以原图进行重新生成(重新生成会打乱其中的恶意代码)

处理方法(用此方法替换move_uploaded_file):

<?php
/*
 * 进行简单图片判断并上传(jpg,gif,png)
 *@param $file  $_FILES['']获取的值 ; $path 图片生成的物理路径(包含图片名称)
 *return 上传成功 true ;  图片类型异常 -1 ;上传失败 false;
 */
function image_save($file,$path){
  if ($file["type"] == "image/gif") {
    @$im = imagecreatefromgif($file['tmp_name']);
    if($im){
    	$sign = imagegif($im,$path);    
    }else{
    	return -1;
    }
  } elseif ($file["type"] == "image/png" || $file["type"] == "image/x-png") {
    @$im = imagecreatefrompng($file['tmp_name']);
    if($im){
    	$sign = imagepng($im,$path);    
    }else{
    	return -1;
    }
  } else {
    @$im = imagecreatefromjpeg($file['tmp_name']);
    if($im){
    	$sign = imagejpeg($im,$path,100);    
    }else{
    	return -1;
    }
  }
  return $sign;
}
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值