Проверка на качено изображение

qazxsw

Registered
Как мога да проверя дадена снимка ".jpg",".gif",".png",".bmp" дали найстина е снимка и дали съдържа зловреден код?
 
PHP:
$file = $_FILES['file']['name'];
$ex = end(explode(".", $file));
if (strtolower($ex[1]) == "jpg" || strtolower($ex[1]) == "jpeg" || strtolower($ex[1]) == "gif" || strtolower($ex[1]) == "png" || strtolower($ex[1]) == "bmp") {
echo 'Разрешено !';
} else {
echo 'Забранено !';
}
 
По-скоро така:
PHP:
$file = $_FILES['file']['name'];
$ex = end(explode(".", $file));
if (strtolower($ex) == "jpg" || strtolower($ex) == "jpeg" || strtolower($ex) == "gif" || strtolower($ex) == "png" || strtolower($ex) == "bmp") {
echo 'Разрешено !';
} else {
echo 'Забранено !';
}
explode връща масив, а с end взимаш последния резултат от него следователно няма как да е върнат масив.
 
Karcho каза:
По-скоро така:
PHP:
$file = $_FILES['file']['name'];
$ex = end(explode(".", $file));
if (strtolower($ex) == "jpg" || strtolower($ex) == "jpeg" || strtolower($ex) == "gif" || strtolower($ex) == "png" || strtolower($ex) == "bmp") {
echo 'Разрешено !';
} else {
echo 'Забранено !';
}
explode връща масив, а с end взимаш последния резултат от него следователно няма как да е върнат масив.
Да пропуснал съм..
Благодаря!
 
по-лесен начин:
PHP:
$file = $_FILES['file']['name'];
$allowed = array("jpg","jpeg","gif","png","bmp");
$ex = end(explode(".", $file));
if (in_array(strtolower($ex),$allowed)) {
echo 'Разрешено !';
} else {
echo 'Забранено !';
}
:P
 
Това което давате Вие е за проверяване на разширението, но до колкото знам, има начини да направиш шел с .jpg разширение и той пак да си е активен.

Как да проверя дали снимката не е шел?
 

Back
Горе