Abilitare solo gli utenti registrati a scaricare alcuni allegati.
Quando si pubblica un allegato in uno spazio pubblico è scaricabile da tutti. Se lo si pubblica in un’area riservata dovrebbe essere disponibile solo per gli iscritti, in linea di massima lo è, ma se se ne conosce il path assoluto chiunque lo può scaricare senza essere registrato. Alla stessa maniera si vorrebbe fare in modo che solo gli utenti registrati al sito possano scaricare un allegato. Seguendo i consigli di questo sito credo di esserci riuscito.
-Per prima cosa installare il plugin Custom Upload Dir
-Abilitare il plugin ed andare nelle impostazioni e selezionare come da immagine —–>>>
-Come si intuisce questa configurazione crea delle cartelle in …/wp-content/uploads/nome_utente/categoria/anno/mese/nome_file (ovviamente si può cambiare il modo di archiviazione dei file).
Esempio pratico, ho allegato un file ad un articolo pubblicato dall’utente redazione_segreteria in area riservata docenti, il percorso risulta essere:
http://www.icadua.gov.it/wp-content/uploads/redazione_segreteria/riservato-riservato/ris_pri/2012/11/Concorso.pdf (per inciso non è molto semplice, se non si sa, risalire al percorso completo).
Quindi CUD ha creato una directory …/wp-content/uploads/redazione_segreteria/riservato-riservato/……
-Ora desidero che i file pubblicati in /riservato-riservato/ siano disponibili solo per gli utenti registrati
Per far questo bisogna editare il file nascosto .htaccess ( che si trova nella root del proprio sito)ed aggiungere le righe in neretto
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^.*uploads/redazione_segreteria/riservato-riservato/.*
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule . /wp-login.php?redirect_to=%{REQUEST_URI} [R,L]
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Da questo momento tutti gli allegati pubblicati da redazione_segreteria in riservato saranno a disposizione solo agli utenti registrati.
In pratica con CUD si definisce la struttura della directory e poi si va a specificare in htaccess quale directory proteggere.
Ovviamente adattare le voci ai propri bisogni
franca ha detto 13 Novembre 2012
Ho trovato una soluzione diversa, integrando quella di Lillo.
Con Custom Upload Dir, dici al sistema come archiviare i file/media che carichi, in quali directory e in quali cartelle.
Lillo ha scelto di archiviare secondo il metodo current_user/category.
Io avevo bisogno di mantenere invece la gerarchia wp-content/uploads/year/monthnum, per gli allegati non da proteggere e una apposita cartella per i file/media da proteggere (non legata a “corrent_user”, ovvero la persona che sta lavorando loggata e a “category” cioè categoria in cui è archiviato l’articolo; questo perchè un articolo lo categorizzo con tante categorie – es. associo contemporaneamente a studenti, secondaria, circolari, comunicazioni, e il sistema di Lillo crea negli uploads tante cartelle quante sono le categorie assegnate)
Ho cercato in rete un plugin diverso, che organizzasse solo i media.
Ho trovato questo: Media File Manager
http://wordpress.org/extend/plugins/media-file-manager/
sito ufficiale
http://tempspace.net/plugins/?page_id=111
che permette di creare cartelle in cui inserire i media caricati, spostandoli dalla posizione in cui il sistema li mette in automatico.
A eseguire questa azione non è soltanto L’amministratore ma, andando in impostazioni >>> Media file manager>>> puoi indicare che tipo di ruolo/utente può usare questo plugin, quindi caricare file/media nella cartella che sarà riservata ai documenti da non rendere pubblici.
Ho proceduto così:
RewriteCond %{REQUEST_URI} ^.*uploads/XXX-comevuoi/.*
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule . /wp-login.php?redirect_to=%{REQUEST_URI} [R,L]
l’ho ricaricato, sostituendolo (sovrascrivendolo) via FTP nella stessa posizione.
>strong>Questa operazione va fatta solo una volta… perchè sto dando le regole di ingresso al sito in modo generale
Io ho usato Media-selector >>> selezionato la cartella “XXX-comevuoi”, ho trovato il file e l’ho allegato inserendolo.
Risultato:
il documento è questo:
http://www.icolgiatecomasco.gov.it/prova-documento-riservato/
il path assoluto al documento questo:
http://www.icolgiatecomasco.gov.it/wp-content/uploads/riservato-close/Come-fare-la-lettura.pdf
fate delle prove e fatemi sapere!
Franca