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