上传安全我的图像PHP

时间:2012-12-17 19:16:19

标签: php image upload

我正在尝试将图片文件上传到我的服务器,看看有人帮助我的方式更安全吗? 这是我的代码:

 if(isset($_POST['upload'])):

$imgtype = $_FILES['image_file']['tmp_name'];

$size = @getimagesize($imgtype);

switch($size[2]){

case IMAGETYPE_GIF  : $src = imagecreatefromgif($imgtype);  break;
case IMAGETYPE_JPEG : $src = imagecreatefromjpeg($imgtype); break;
case IMAGETYPE_PNG  : $src = imagecreatefrompng($imgtype);  break;
default : die("Unknown filetype");
}
$newname = sha1(date('n').$imgtype);
imagejpeg($src, 'img/'.$newname.'.jpg', 100);
imagedestroy($src);

if(!$size){
echo 'This not an valid image: '. $size[2];
}
endif;

1 个答案:

答案 0 :(得分:1)

好吧,如果问题是某人只是“入侵”了它,可能会通过会话令牌查看CSRF保护。有一个不错的教程here

您对getimagesize()的来电应该可以阻止任何非图像文件通过,但我们需要知道的是您试图阻止的确切情况。