hola nuevamente
tengo este script que baje de una web el cual es un formulario para subir imágenes al servidor con el famoso botón examinar
Código HTML:
Ver original<form action="upload.php" method="post" enctype="multipart/form-data"> <input name="archivo" type="file" size="35" /> <input name="enviar" type="submit" value="Upload File" /> <input name="action" type="hidden" value="upload" />
y este es el Script PHP que hace el resto..
Código PHP:
$status = "";
if ($_POST["action"] == "upload") {
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);
if ($archivo != "" || $tipo == "image/gif" || $tipo == "image/jpeg" || $tipo == "image/jpg") {
// guardamos el archivo a la carpeta files
$destino = "files/".$prefijo."_".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
$status = "Archivo subido: <b>".$archivo."</b>";
} else {
$status = "Error al subir el archivo";
}
} else {
$status = "Error al subir archivo";
}
}
pero existe un problema y es que existen personas inescrupulosas que crean archivos php o shell con extensiones de imagen (archivos con extensión de imagen que son archivos con códigos maliciosos ocultos) para burlar dicho script el cual es muy vulnerable...
como hago para evitar que puedan subir este tipo de archivos escondidos en imágenes...
Estuve leyendo y es algo como validar en contenido del fichero de la imagen
utilizando las funciones de PHP
getimagesize() y
Content-type()
Pero no doy como agregarle dichas funciones al código
espero me puedan ayudar
graciass