Restringir acceso por la URL a los ficheros que hay en files, a usuarios anonimos

Buenas, tengo los contenidos (nodos, bloques, menús) restringidos por usuario/role, pero si un usuario anónimo pone por casualidad el enlace directo a un archivo pdf que está en (dominio/files/archivo.pdf) lo abre sin estar autenticado, aunque el nodo donde está enlazado sí que está restringido. ¿Cómo se puede restringir el acceso a files desde Drupal? ¿o en Apache? quiero evitar tener que solicitarle de nuevo la contraseña a un usuario ya autenticado cada vez que quiera abrir cualquier archivo, porque habia pensado montar otro login en ese acceso, o con el htaccess.Espero puedan ayudarme.

Saludos

http://www.newid.es
http://gsoft.gratishost.com

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Mismo problema

Hola tengo el mismo problema que giorgio.

Tengo una pagina publica y en esta pagina tengo un link para descargar un pdf.
Necesito que el pdf solo lo pueda descargar el usuario1, pero que nadie mas lo pueda descargar.

he visto que se puede configurar el .httacces, pero como le digo que solo cierto usuario registrado de drupal lo pueda descargar?

un .htaccess dentro de la carpeta que quieras privatizar

De hecho deberias privatizar el acceso a la carpeta files, para que no sean descargables dichas URL.

http://drupal.org/node/140441

Tienes en ese nodo un posible ejemplo de htaccess dentro de la carpeta files. Algunos modulos como Backup & Migration, requieren privatizar algunas carpetas.

ya he probado a restringir mediante .htaccess

ya he probado a restringir mediante .htaccess, pero el problema es mediante ese método, si, consigo que no se entre mediante dominio/files/nombrearchivo.doc por la URL y se habra el archivo, pero tambien queda restringido en los vinculos a esos archivos que tengo por los nodos, es decir lo capa para todo, y yo lo que necesito esque si que se pueda acceder y leer ese documento si se está registrado y si se tiene el role especifico, pero que no deje verlo si no se está autenticado o se tiene un rol que no tenga acceso a ese archivo. El problema esque ahora mismo tal y como está una persona que no esté autenticada o que tenga un rol sin acceso al archivo x, si teclea la url completa al archivo (dominio/files/nombrefichero.doc) accede al fichero y lo abre sin problemas, lo que supondria un agujero de seguridad en todas las webs hechas con drupal que quieran tener algun fichero privado a ciertos roles.

Saludos.

Por eso precisamente, se usa

Por eso precisamente, se usa el htaccess, si los archivos tienen permisos de lectura de grupo y usuario. Restringiendo el acceso a los "anonimos", al solicitar el acceso desde la web, si te deberia permitir descargar dichos archivos.

Uso htaccess dentro de carpetas files, tanto para el backup de la SQL como para los mediafiles de un proyecto de podcasting, y se accede perfectamente al contenido desde la web, pero no publicamente.

Obviamente tal como te han comentado otros, el sistema de uploads deberia estar en privado. aunque personalmente para estos casos excepcionales me he acostumbrado a usar el Filefield del CCK.

Yo de ti revisaria tanto la documentacion de htaccess que es extensa como la forma en que estas efectuando los uploads, porque casi seguro que es un error tonto el que estas comentiendo.

cambia el metodo de descarga

Es facil .. cambia el metodo de descarga a privado y drupal se encargara de que solo los usuarios con permisos puedan descargarlo .. tambien puedes agregar el modulo Content Access que creo que tambien te permite hacerlo

para cambiar el metodo de descarga admin -> settings ->file-system -> metodo de descarga privado.

Un saludo,

El problema no es el acceso via nodo sino por la URL

El problema no es el acceso via nodo sino por la URL.
La opcion de privado y publico para que los administre drupal ya lo hemos probado y no funciona, y con el modulo content Access tambien, pero este modulo lo prohibe si el fichero está en el nodo para descarga, pero el problema viene al poner la URL directa al fichero en el navegador. Podria ser problema de configuración del servidor? o que otro problema o configuracion prodria ser?, porque esto no debe ser tan dificil, ya que de otra manera a cualkier web hecha en drupal se podria acceder a estos ficheros.

Saludos.