Drupal 7 file pubblici e privati

6 contenuti / 0 new
Ultimo contenuto
Drupal 7 file pubblici e privati

Ho letto e provato di tutto, ma non riesco a venirne a capo.

File system
Percorsi file pubblici: sites/default/files
Percorsi file privati: sites/default/files/private
Metodo predefinito per il download: File locali privati gestiti da Drupal

Ho creato un contenuto, ho aggiunto in campo allegati settato su file privati
Con control access ho stabilito che il nodo può essere visto solo dagli utenti autenticati.

Il file allegato viene correttamente inserito in sites/default/files/private, ma anche da logata ottengo accesso negato.
Potete aiutarmi?

Mi pare che con D7 sia una best practice NON mettere la directory dei file privati come sottocartella dei file pubblici. non è che stai usando content permissions per gestire la visibilità dei campi?

Sto usando fied permission per la visibilità dei campi e qui non ho problemi.
Ho controllato bene. Ho dato visibilità solo agli utenti autenticati, così per il nodo. Il problema sono gli allegati. Anche se campo e nodo hanno acceso impostato, da anonimo digito l'indirizzo del file allegato nell'URL di un browser e raggiungo l'allegato sia se allego con CKeditor sia se allego con il campo allegati. Con Drupal 6 uso Private upload, ma per il 7 non c'è.
Ho trovato e provato Private files download permission. Ho configurato, ma richiede l'abilitazione di file privati.
In pratica il file allegato viene correttamente caricato nella cartella private, l'indirizzo dell'allegato è miosito/system/files/nome_allegato.pdf. Se da anonimo digito nell'URL di un browser l'indirizzo dell'allegato Drupal dà accesso negato e fin qui OK.
Purtroppo se mi logo al sito, raggiungo il nodo e clicco sull'allegato che vedo perchè ne ho i permessi, ricevo sempre Accesso negato, questo anche come amministratore.

Non so aiutarti, in questo campo non ho molta esperienza. Hai letto questa pagina? http://drupal.org/documentation/modules/file

Si, ho letto attentamente e ho trovato dove sta il problema.
CKeditor è il problema, non Drupal.
Spiego.
Se metto file system in private, creo nel nodo un campo allegati impostato su private tutto funziona bene. Gli utenti autenticati vedono il file nel nodo e lo posso aprire. Se un anonimo cerca di raggiungere l'allegato digitando il percorso in URL, Drupal nega l'accesso.
Se però attivi CKeditor, gli utenti autenticati vedono in nodo l'allegato, ma non possono aprirlo.
Di contro se in CKeditor vai in Impostazioni globali e metti il segno di spunta in Enable access to files located in the private folder, gli utenti autenticati aprono in nodo il file, ma anche gli anonimi possono raggiungere attraverso l'URL gli allegati.
E' un bel problema di sicurezza.
Come uscirne?

Ho risolto, ma da CKeditor un problema così non me lo aspettavo!
Ho settato file sytem in privato, ho creato il campo allegati privato, poi ho inserito il modulo private_files_download_permission e ora funziona tutto bene.
I logati vedono e aprono i file privati. gli anonimi anche se conoscono l'URL dell'allegato ricevono Accesso negato.
Quindi se ho trovato il modulo vuol dire che il problema è conosciuto e non si è fatto nulla per rimediare.
In Drupal, senza CKeditor, il discorso pryvate system e file privati funziona benissimo e se aggiungi content access hai un ottimo controllo della cartella privata.
CKeditor crea, invece tutti i problemi che ho detto prima.