分類  >  WEB開發>PHP >

PHP判斷圖片是否為標準圖片(防止篡改圖片下傳)

tags:    時間:2013-12-12 15:24:31
PHP判斷圖片是否為標準圖片(防止篡改圖片上傳)

在項目安檢時發現,某系項目中圖片上傳只是對後綴名進行了檢查,導致含有某些代碼的『圖片』也能上傳到伺服器,有重大隱患。寫了一個方法,檢驗圖片的正確性。(此方法無法完全驗證,將圖片源碼中加了代碼無法判斷,不過將圖片處理比如加水印以後,含有代碼的圖片在當作php執行時會失效)

 

/*  *判斷上傳的圖片是否為標準圖片  *$file $FILES['']獲取的值  *return 正常圖片 true ;  異常圖片 false;  */ function isimage($file){ 	if ($file["type"] == "image/gif") { 		@$im = imagecreatefromgif($file['tmp_name']); 	} elseif ($file["type"] == "image/png" || $file["type"] == "image/x-png") { 		@$im = imagecreatefrompng($file['tmp_name']); 	} else { 		@$im = imagecreatefromjpeg($file['tmp_name']); 	} 	if($im==false){ 		return false; 	}else{ 		return true; 	}  }

推薦閱讀文章

Bookmark the permalink ,來源:互聯網