Foros del Web » Programando para Internet » PHP »

Tipo de archivo: $_FILE['archivo']['type']?

Estas en el tema de Tipo de archivo: $_FILE['archivo']['type']? en el foro de PHP en Foros del Web. Tengo un formulario desde el que puedo enviar al servidor un archivo de audio de un tamaño máximo de 200 kb. El usuario selecciona el ...
  #1 (permalink)  
Antiguo 28/09/2005, 11:36
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 8 meses
Puntos: 0
Tipo de archivo: $_FILE['archivo']['type']?

Tengo un formulario desde el que puedo enviar al servidor un archivo de audio de un tamaño máximo de 200 kb.

El usuario selecciona el archivo y cuando pulsa enviar compruebo la extensión del fichero así:

$extension=strrchr($_FILES['archivo']['name'],".");

Pero un usuario malintencionado puede 'meterme' un ejecutable simplemente cambiándole el .exe por un .wma o un .mp3...

Entonces he probado a comprobar el tipo de datos del archivo, asi:

if ($_FILES['userfile']['type']=="audio/x-pn-realaudio") echo "Vale";
else echo "No vale";

Pero estamos en lo mismo de antes, el navegador atiende a la extensión del archivo ya que he probado a cambiar la extensión a un .exe por un .mp3 y ha pasado...

Entonces cómo puedo evitar que me metan gato por virus?

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #2 (permalink)  
Antiguo 28/09/2005, 13:34
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
A mi me funciona eso, al menos lo he probado con image/jpg e image/gif.
  #3 (permalink)  
Antiguo 28/09/2005, 14:17
 
Fecha de Ingreso: marzo-2005
Mensajes: 103
Antigüedad: 19 años, 1 mes
Puntos: 1
Si tu le cambias a un exe la extensión a mp3 o a cualquier otra extensión no ejecutable no se podrá ejecutar el programa, trata hacer dobleclic en un exe con la extensión cambiada a mp3 para que veas que no hace nada... al menos que tengas un reproductor de audio que intente correr el archivo como ejecutable, lo cual es ilegal y poco ético para la compañía de softare que hizo la aplicación, así que en resumen... lo máximo que le puede pasar al usuario que baje un archivo exe con la extensión cambiada a mp3 es que desperdición tiempo bajando algo que no servía, no creo que sea tan tonto como para cambiarle la extensión a exe y probar si es ejecutable...
  #4 (permalink)  
Antiguo 28/09/2005, 14:31
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Alex28, es un problema de seguridad para el servidor, pues si es windows y te suben un exe, luego puede alguien ejecutarlo y hacer daño en tu servidor. Lo mismo si es un script para linux o incluso podria ser un archivo php que permita subir cosas al servidor o acceder a datos, etc.
  #5 (permalink)  
Antiguo 29/09/2005, 13:30
 
Fecha de Ingreso: marzo-2005
Mensajes: 103
Antigüedad: 19 años, 1 mes
Puntos: 1
nadie puede ejecutar un exe si tiene una extensión mp3, o cualquier otra extensión no ejecutable, la única forma es que tu crees un archivo php que modifique la extensión de ese mp3 a exe o bat o cualquier otra extensión ejecutable y luego lo corra en el servidor con un com. de resto estás a salvo amigo...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:40.