Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Geek7 en 16 Julio 2013, 19:44 pm



Título: problemas con formato de imagen
Publicado por: Geek7 en 16 Julio 2013, 19:44 pm
Tengo unas imagenes en formato jpg, e intento subirlas en mi localhost pero las imnagenes con formato *.jpg no las puedo subir mientras que las *.JPG si. Este es mi codigo:

Código
  1. if($_FILES)
  2. {
  3. $filename = $_FILES['filename']['name'];
  4. $filetype = $_FILES['filename']['type'];
  5. $filesize = $_FILES['filename']['size'];
  6.  
  7.  
  8. switch ($filetype)
  9. {
  10.    case 'image/jpeg':
  11.        $filetype = "jpg";
  12.    break;
  13.  
  14.    case 'image/png':
  15.        $filetype = "png";
  16.    break;
  17.  
  18.    default:
  19.        $filetype = "";
  20. }
  21. if($filetype == "")
  22. {
  23.    die('No es una imagen');
  24.  
  25. }
  26. if ($filesize > 400000)
  27. {
  28.    die("Archivo muy grande");
  29. }
  30. move_uploaded_file($_FILES['filename']['tmp_name'], $filename);
  31. echo "Imagen $filename: <img src='$filename' />";  
  32. }


Título: Re: problemas con formato de imagen
Publicado por: #!drvy en 16 Julio 2013, 19:50 pm
Te falta: image/jpg. Quedaría así:

Código
  1. switch ($filetype)
  2. {
  3.   case 'image/jpeg':
  4.   case 'image/jpg':
  5.       $filetype = "jpg";
  6.   break;
  7.  
  8.   case 'image/png':
  9.       $filetype = "png";
  10.   break;
  11.  
  12.   default:
  13.       $filetype = "";
  14.   break;
  15. }


PD: No te fíes solo del tipo de imagen, comprueba siempre la extensión. El type se puede falsificar.

Saludos


Título: Re: problemas con formato de imagen
Publicado por: Geek7 en 16 Julio 2013, 20:13 pm
Me sigue dando el mismo die().

Como se puede falsificar???


Título: Re: problemas con formato de imagen
Publicado por: #!drvy en 16 Julio 2013, 20:19 pm
echo var_dump($filetype); Fijate en lo que te imprime y veras el porque.

Citar
Como se puede falsificar???

Modificando los headers al hacer la consulta.

Saludos


Título: Re: problemas con formato de imagen
Publicado por: Geek7 en 16 Julio 2013, 20:50 pm
Me dice:string '' (length=0). Pense que era por elupload_max_filesize que estaba en 2MB y los archivos eran de +3MB, pero no es eso.


Título: Re: problemas con formato de imagen
Publicado por: #!drvy en 16 Julio 2013, 20:54 pm
Perdon

Código
  1. echo var_dump($_FILES['filename']['type']);

Asi xD


Saludos