Hola gente, como estan?? espero que bien... y ojala puedan ayudarme,el tema es el siguiente..
estoy usando un scirpt en php, en el cual tengo problemas a la hora de subir avatar (es con ajax) en algunos hosting me funciona y en otros no, y claro justo en el cotnrate pago no me funciona la subida de avatar, salvo si elimino esta linea del archivo avatar.php
if(!in_array(exif_imagetype($_FILES['file-avatar']['tmp_name']), $allowede)) { @unlink($_FILES['file-avatar']['tmp_name']); jerror('El archivo no es una imagen válida'); }
pero me da miedo que me puedan subir una shell o algo asi si quito esa linea.
esa linea es demasiado importante?? proque cuando la quito me deja subir el avatar muy bien.
estan son todas las lineas junto a esa
$allowed = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png');
$allowedc = array(IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG);
$allowede = array('gif', 'jpg', 'jpeg', 'png'); //jerror(print_r($_FILES,true));
if(!is_uploaded_file($_FILES['file-avatar']['tmp_name'])) { @unlink($_FILES['file-avatar']['tmp_name']); jerror('Archivo incorrecto'); }
if($_FILES['file-avatar']['error'] != 0) { @unlink($_FILES['file-avatar']['tmp_name']); jerror('Hubo un error al subir el archivo'); }
if($_FILES['file-avatar']['size'] > $maxsize) { @unlink($_FILES['file-avatar']['tmp_name']); jerror('El archivo es demasiado pesado'); }
if(!in_array($_FILES['file-avatar']['type'], $allowed)) { @unlink($_FILES['file-avatar']['tmp_name']); jerror('El archivo no es una imagen válida'); }
if(!in_array(exif_imagetype($_FILES['file-avatar']['tmp_name']), $allowede)) { @unlink($_FILES['file-avatar']['tmp_name']); jerror('El archivo no es una imagen válida'); }
if(!in_array(substr(strrchr(basename($_FILES['file-avatar']['name']), '.'), 1), $allowede)) { @unlink($_FILES['file-avatar']['tmp_name']); jerror('El archivo no es una imagen válida'); }
list($width, $height) = getimagesize($_FILES['file-avatar']['tmp_name']);
$dest = '../avatares/tmp/'.sha1_file($_FILES['file-avatar']['tmp_name']).strtolower(substr($_FILES['file-avatar']['name'], strrpos($_FILES['file-avatar']['name'], '.')));
if(!move_uploaded_file($_FILES['file-avatar']['tmp_name'], $dest)) {
jerror('No se pudo subir el archivo');