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;
}
}
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号