Proteger descarga de ficheros

5 views
Skip to first unread message

Sergio

unread,
Dec 16, 2008, 6:08:19 AM12/16/08
to djan...@googlegroups.com
Hola,

Resulta que tengo un modelo con un campo FileField y otro campo asociado
a un usuario. El tema es que quiero que los ficheros sólo los puedan
descargar el usuario al que está asociado dicho fichero a a través del
modelo.

Como los ficheros no está recomendado que los "sirva" el Django, sino
directamente el servidor HTTP, en un caso lo había resuelto aprovechando
la API de mod_python, capturando los intentos de descarga de los
ficheros y consultando contra el Django si el fichero en cuestión lo
podía descargar el usuario que lo estaba intentando.

Pero ahora me estaba planteando si no habrá otra manera de hacerlo.
Aunque supongo que para eso sería necesario que fuera el Django quien
sirviera los ficheros ¿es eso tan mala idea realmente?

¿Cómo han resuelto ustedes casos similares?

¡Muchas gracias!

--
Un saludote..
--==@ Sergio @==--

Barraquito.net - http://www.barraquito.net

Miguel Hernández

unread,
Jan 14, 2009, 6:13:15 AM1/14/09
to djan...@googlegroups.com
Hola,

Más vale tarde que nunca :-)

2008/12/16 Sergio <barra...@gmail.com>:
> (...)


> Pero ahora me estaba planteando si no habrá otra manera de hacerlo.
> Aunque supongo que para eso sería necesario que fuera el Django quien
> sirviera los ficheros ¿es eso tan mala idea realmente?
>
> ¿Cómo han resuelto ustedes casos similares?
>

Hace poco he hecho eso mismo usando una cabecera que se llama
X-Sendfile. Funciona al menos en lighttpd y en Apache (instalando un
módulo). Con esta técnica tienes la seguridad controlada por una vista
de Django, pero la descarga la hace el propio servidor web, con el
consiguiente aumento en eficiencia.

http://blog.lighttpd.net/articles/2006/07/02/x-sendfile

Taluego,

--
Obstáculos es lo que ves cuando apartas la vista del objetivo.

Reply all
Reply to author
Forward
0 new messages