Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Cómo determinar las extensiones de los archivos al subirlos

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Mar Oct 24, 2006 3:53 pm
mydaboin
Perlero Nuevo
Perlero Nuevo
Registrado: 22 Abr 2004
Mensajes: 59
Ubicación: Pues Aqui, Preguntando
Cómo determinar las extensiones de los archivos al subirlos Responder citando

Buenas tengo una duda.

Tengo varios usuarios que envían sus fotos. El problema surge cuando mediante el cgi, estos suben archivos de texto: word, excel, power point ..
Perl:
if (-e $imagen){
                $archivo_imagen="../carpeta/imagenes/$contador.jpg";
                open (IMAGEN, ">$archivo_imagen");
        while ($lectura = read($imagen, $cadena, 1024)){
                print IMAGEN $cadena;
        }
                close IMAGEN;
}


¿Cómo hacer para que determine que las extensiones: .doc, .ppt y .xls, las cuales no son permitidas o sólo las extensiones jpg y gif que deben ser las permitidas?

¡¡¡gracias de antemano por la ayuda!!! Very Happy
Mensaje Mar Oct 24, 2006 4:58 pm
creating021
Vive para Perl en Español
Vive para Perl en Español
Registrado: 23 Feb 2006
Mensajes: 478
Ubicación: Frente al monitor
Responder citando

Una vez más UNIX es superior Smile
http://ppt.perl.org/commands/file/file.kulp
http://search.cpan.org/~pmison/File-Type-0.22/
http://search.cpan.org/~pardus/File-MimeInfo-0.13/
http://search.cpan.org/~dmaki/File-MMagic-XS-0.08/
http://search.cpan.org/~pardus/File-MimeInfo-0.13/
http://search.cpan.org/~knok/File-MMagic-1.27/
Laughing
Mensaje Mar Oct 24, 2006 5:40 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4084
Ubicación: Valladolid, España
Responder citando

Es siempre mejor filtrar por lo que esperamos recibir, que por aquello que podría llegar, sobre todo porque no sabemos todo lo que puede llegar.

Se podría intentar filtrar por la extensión del fichero, algo así como:
Perl:
if ( $imagen =~ /\.(jpe?g|gif|png|tiff?)$/ ) { ...


Y con eso tenemos una barrera muy buena, pero no impide que un usuario coja un MP3 y lo llame musica.jpg.

En ese caso hay que utilizar alguno de los módulos indicados antes.

Es posible que existan más técnicas.
Mensaje Mar Oct 24, 2006 7:06 pm
creating021
Vive para Perl en Español
Vive para Perl en Español
Registrado: 23 Feb 2006
Mensajes: 478
Ubicación: Frente al monitor
Responder citando

Hay otra cosa que púedes hacer, usar Image::Info + el filtro que pone explorer
Mensaje Mie Oct 25, 2006 7:04 am
mydaboin
Perlero Nuevo
Perlero Nuevo
Registrado: 22 Abr 2004
Mensajes: 59
Ubicación: Pues Aqui, Preguntando
Responder citando

Gracias muy!!! Wink
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group