Foros del Web » Programando para Internet » PHP »

Class.upload me renombra los archivos excel.

Estas en el tema de Class.upload me renombra los archivos excel. en el foro de PHP en Foros del Web. Saludos. A pesar de que los carga correctamente, me sigue cambiando la extensión de .xls a .xls.txt Esto lo hace cuando detecta que el archivo ...
  #1 (permalink)  
Antiguo 13/07/2009, 11:13
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 5
Class.upload me renombra los archivos excel.

Saludos.

A pesar de que los carga correctamente, me sigue cambiando la extensión de .xls a .xls.txt

Esto lo hace cuando detecta que el archivo que cargas es de alguna extensión maligna, como php, py, etc.

Me carga todo lo demás ok. (PDF, txt, au, mp3, etc...)
pero cuando subo excel, me cambia la extensión.

Revisé el archivo class.upload y está correcto y sin modificaciones.

La única modificación que hice, es cambiar el .txt por .borrame, para que se den cuenta donde tienen que borrar la extensión.

Alguna idea???
  #2 (permalink)  
Antiguo 13/07/2009, 11:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Class.upload me renombra los archivos excel.

y modificando el comportamiento de dicha clase... ??

osea, no tiene un método para agregar extensiones "permitidas" ??

¿¿podemos ver el código de la clase??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/07/2009, 11:45
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: Class.upload me renombra los archivos excel.

Claro que pueden ver el código, la clase es open source
Link:http://www.verot.net/php_class_upload.htm

La parte que permite mime types es:
Código PHP:
$this->forbidden = array();
        
$this->allowed = array("application/rar",
                               
"application/x-rar-compressed",
                               
"application/arj",
                               
"application/excel",
                               
"application/gnutar",
                               
"application/octet-stream",
                               
"application/pdf",
                               
"application/powerpoint",
                               
"application/postscript",
                               
"application/plain",
                               
"application/rtf",
                               
"application/vocaltec-media-file",
                               
"application/wordperfect",
                               
"application/x-bzip",
                               
"application/x-bzip2",
                               
"application/x-compressed",
                               
"application/x-excel",
                               
"application/x-gzip",
                               
"application/x-latex",
                               
"application/x-midi",
                               
"application/x-msexcel",
                               
"application/x-rtf",
                               
"application/x-sit",
                               
"application/x-stuffit",
                               
"application/x-shockwave-flash",
                               
"application/x-troff-msvideo",
                               
"application/x-zip-compressed",
                               
"application/xml",
                               
"application/zip",
                               
"application/msword",
                               
"application/mspowerpoint",
                               
"application/vnd.ms-excel",
                               
"application/vnd.ms-powerpoint",
                               
"application/vnd.ms-word",
                               
"application/vnd.ms-word.document.macroEnabled.12",
                               
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
                               
"application/vnd.ms-word.template.macroEnabled.12",
                               
"application/vnd.openxmlformats-officedocument.wordprocessingml.template",
                               
"application/vnd.ms-powerpoint.template.macroEnabled.12",
                               
"application/vnd.openxmlformats-officedocument.presentationml.template",
                               
"application/vnd.ms-powerpoint.addin.macroEnabled.12",
                               
"application/vnd.ms-powerpoint.slideshow.macroEnabled.12",
                               
"application/vnd.openxmlformats-officedocument.presentationml.slideshow",
                               
"application/vnd.ms-powerpoint.presentation.macroEnabled.12",
                               
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
                               
"application/vnd.ms-excel.addin.macroEnabled.12",
                               
"application/vnd.ms-excel.sheet.binary.macroEnabled.12",
                               
"application/vnd.ms-excel.sheet.macroEnabled.12",
                               
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                               
"application/vnd.ms-excel.template.macroEnabled.12",
                                                             
"application/xls",
                                                             
"application/x-ms-excel",                                                             
                               
"application/vnd.openxmlformats-officedocument.spreadsheetml.template",
                               
"audio/*",
                               
"image/*",
                               
"video/*",
                               
"multipart/x-zip",
                               
"multipart/x-gzip",
                               
"text/richtext",
                               
"text/plain",
                               
"text/xml");

    } 
y donde las valida en:

Código PHP:
// checks file size and mine type
        
if ($this->uploaded) {

            if (
$this->file_src_size $this->file_max_size ) {
                
$this->processed false;
                
$this->error $this->translate('file_too_big');
            } else {
                
$this->log .= '- file size OK<br />';
            }

            
// turn dangerous scripts into text files
            
if ($this->no_script) {
                if (((
substr($this->file_src_mime05) == 'text/' || strpos($this->file_src_mime'javascript') !== false)  && (substr($this->file_src_name, -4) != '.borrar'))
                    || 
preg_match('/\.(php|pl|py|cgi|asp)$/i'$this->file_src_name) || empty($this->file_src_name_ext)) {
                    
$this->file_src_mime 'text/plain';
                    
$this->log .= '- script '  $this->file_src_name ' renamed as ' $this->file_src_name '.borrar!<br />';
                    
$this->file_src_name_ext .= (empty($this->file_src_name_ext) ? 'txt' '.borrar');
                }
            } 
Tonses, toy pegado.

Por ahora le puse que los marcara como .borrar, pero es lejos lo que sería ideal.
Aparte que de seguro me webean por ese "parche"

Cualquier ayudita me sirve

Gracias de antemano.
  #4 (permalink)  
Antiguo 13/07/2009, 11:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Class.upload me renombra los archivos excel.

bueno, es simple...

has un echo del MIME del archivo que estas subiendo... y debes agregarlo a la lista de permitidos...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/07/2009, 13:35
Avatar de SCY-FOX  
Fecha de Ingreso: septiembre-2007
Ubicación: Chile
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: Class.upload me renombra los archivos excel.

El echo se supone que está válido

Código:
application/vnd.ms-excel
Por eso no entiendo que pasa...

T.T
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 17:27.