Re: [PHP-ES] Acceso a archivos, que están fue ra del documentRoot

[email protected] (Eduardo Huertas)
Newsgroups php.general.es
Message-ID <[email protected]>
El 06/10/11 19:11, Ricardo Martinez escribió:
> Hola!!! listaaaa!!! =)
>
> Estoy desarrollando una aplicación, que precisa guardar video y alguna
> imagen, fuera del documentRoot, por motivos de seguridad.
>
> Solo algunos usuarios logeados deben de poder ver ese contenido. Quiero que
> el contenido solo sea accesible a través de la aplicación.
>
> Me he estado documentando un poco sobre, pero también me gustaría saber,
> que opináis, maneras de implementarlo, seguridad, experiencias previas...
>
> Cualquier idea y documentación la verdad que lo agradecería.
>
> Un saludo!!!

Suena más complicado de lo que en realidad es.

No hace mucho tuve que desarrollar un sitio del que se podían descargar 
pdf's sólo para usuarios registrados.

Estuve considerando la posibilidad de guardar los archivos directamente 
en la base de datos, pero como soy de la vieja escuela, y no estaba muy 
convencido del comportamiento que pudiera tener la base de datos, 
finalmente decidí ponerlos fuera de la raíz pública.

El tema es hacerte un controlador (controller) que sirva estos archivos, 
no es excesivamente complicado, sólo tendrás que empaparte un poco sobre 
cómo funcionan los headers 
http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

Pégale un vistazo también al fpassthru 
http://php.net/manual/en/function.fpassthru.php que contiene un ejemplo 
simple de cómo servir una imagen.

No se me ocurre nada más que comentarte, si tienes alguna duda 
específica, por favor no dejes de preguntar.

Ah, eso sí, no dejes que ningún usuario decida el nombre con el que se 
va a guardar el archivo en el servidor, seguro que te encontrarás con 
alguna sorpresa desagradable como nombres con espacios o nombres que 
contengan nuestra queridísima ñ.

Saludos.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.