[Php-avanzado] chequear subida correcta de archivos
Jesica Billia
jesicabillia en hotmail.com
Sab Abr 30 11:06:36 ART 2011
Ok, entonces es correcto verificarlo, lo sigo usando. Ahora, todavía no me surgió nada con los permisos... en breve seguramente estaré preguntado!! ajjaj gracias a ambos y saludos!!
> From: leonardot en pegasusnet.com.ar
> To: php-avanzado en pato2.fi.mdp.edu.ar
> Date: Sat, 30 Apr 2011 02:49:44 -0300
> Subject: Re: [Php-avanzado] chequear subida correcta de archivos
>
> Hola Jésica y Roger,
>
> no, el objeto de usar is_uploaded_file() es otro.
> No hay tema de permisos, porque si el dueño del archivo al subirlo al
> directorio temporal es Apache, al moverlo se mantendrá el dueño.
>
> Siempre hay que usar is_uploaded_file() porque lo que previene esta
> función es que se mueva un archivo que no fue subido, es decir, que ya
> exista en el servidor.
>
> Por ejemplo si yo hago:
>
> move_uploaded_file('/etc/passwd' , 'mio/nombre.txt' );
>
> me estoy haciendo una copia del archivo de usuarios del sistema.
>
> Pero si bien esto anda, is_uploaded_file('/etc/passwd') va a dar falso,
> porque ese archivo no fue el subido, sino que ya estaba en el sistema.
>
> Naturalmente que vos podés escribir un script que use copy() y quedarte
> con el archivo de los usuarios, pero la idea de esta práctica es
> prevenir que por un error más sutil de programación, un usuario
> malintencionado pueda usar tu script para obtener copias de archivos
> sensibles del sistema.
>
> Por todo esto es una buena práctica hacer ambas verificaciones: que no
> haya error en la subida, y que el archivo sea un archivo subido.
>
>
> El sáb, 30-04-2011 a las 01:04 -0300, Rogelio A. Schwindt escribió:
> > El move_uploaded_file() es todo un tema en entornos linux...
> > (corrijanme si estoy equivocado o me comi algo)
> >
> > El tema es que si moves el archivo subido con la funcion
> > move_uploaded_file() desde por ejemplo /tmp/phpxxxx.tmp a tu
> > direcctorio supongamos /home/usuario/www/uploads
> > los permisos del archivo phpxxxx.tmp son de apache.... pero
> > en /home/usuario/www/uploads los permisos son del usuario tuyo de
> > ftp...
> > Salvo que des permiso en la carpeta uploads para que escriba apache,
> > el move_uploaded_file() fallara por falta de permisos... en el caso de
> > que des los permisos para que apache escriba en uploads, el
> > propietario de ese archivo seguira siendo apache, por lo que no te
> > quedara otra que hacer la famosa maniobra ftp para que los archivos te
> > queden con permisos de tu usuario... y no usar move_uploaded_file()
> >
> > Saludos.
> >
> > Rogelio Schwindt
> > ----- Original Message -----
> > From: Jesica Billia
> > To: Forum PHP ing
> > Sent: Saturday, April 30, 2011 12:36 AM
> > Subject: [Php-avanzado] chequear subida correcta de archivos
> >
> >
> > Buenas, tengo una consulta para cuando subo archivos, porque
> > no me queda en claro, si antes de procesar el archivo y
> > subirlo,
> >
> > si yo chequeo $_FILES['archivo']['error'] == UPLOAD_ERR_OK y
> > si se cumple con esa condición entonces continúo
> >
> > y luego utilizo la función
> > is_uploaded_file( $_FILES['archivo']['tmp_name'] ) para
> > controlar si se ha subido el archivo, es necesario o lo puedo
> > omitir
> >
> > antes de usar el
> > move_uploaded_file( $_FILES['archivo']['tmp_name'] ,
> > $_FILES['archivo']['name'] ) ?
> >
> > Gracias y Saludos!!
> >
> >
> > __________ Información de ESET Smart Security, versión de la
> > base de firmas de virus 6082 (20110429) __________
> >
> > ESET Smart Security ha comprobado este mensaje.
> >
> > http://www.eset.com
> >
> >
> >
> > ______________________________________________________________
> >
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> >
> >
> > __________ Información de ESET Smart Security, versión de la
> > base de firmas de virus 6082 (20110429) __________
> >
> > ESET Smart Security ha comprobado este mensaje.
> >
> > http://www.eset.com
> >
> >
> >
> > __________ Información de ESET Smart Security, versión de la base de
> > firmas de virus 6082 (20110429) __________
> >
> > ESET Smart Security ha comprobado este mensaje.
> >
> > http://www.eset.com
> > _______________________________________________
> > Php-avanzado mailing list
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>
> --
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://www3.fi.mdp.edu.ar/pipermail/php-avanzado/attachments/20110430/06ab3c87/attachment.htm>
Más información sobre la lista de distribución Php-avanzado