>백엔드 개발 >PHP 튜토리얼 > PHP判断图片是否为标准图片(防止篡改图片下传)

PHP判断图片是否为标准图片(防止篡改图片下传)

WBOY
WBOY원래의
2016-06-13 13:04:33844검색

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;
	}

}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.