soluzione semplice per limitare l'accesso a (alcuni) upload / download


11

Situazione iniziale

Per un sito che sto configurando, stavo esaminando l'intero campo della protezione di upload / download e la limitazione dell'accesso in base ai ruoli / alle capacità degli utenti. Naturalmente ho letto alcune delle precedenti domande relative all'argomento (generale) qui, per motivi di riferimento le più importanti / interessanti che ho trovato:

Note supplementari

Generalmente non è una cattiva idea migliorare ulteriormente la sicurezza dell'installazione di wordpress, ad esempio proteggendola wp-config.php, ci sono molte cose che puoi e dovresti fare. Ci sono un sacco di informazioni là fuori su come farlo. Sono nel contesto di questa domanda principalmente preoccupata per i miei upload / download.

I caricamenti di Wordpress non sono protetti, tutti possono sfogliare la uploadscartella, a meno che tu non la impedisca con un .htaccess:

Options All -Indexes

Il .htaccessfile deve essere inserito nella uploadscartella. Ma questo non li sta davvero proteggendo, rende solo più difficile trovare i file. Inoltre puoi prevenire hotlinking, limitando essenzialmente l'accesso in base a referrer- anche se questo è un po 'diverso, ho pensato di menzionarlo, non sto elaborando ulteriormente, puoi trovare molte informazioni al riguardo.

Naturalmente ha la possibilità di rendere privati ​​i post o creare un tipo di post personalizzato con file modello adatti per rendere quel tipo di post privato, ma ciò non protegge i tuoi file. Lo stesso si può dire per avvolgere i file in condizioni come is_user_logged_in()o is_admin().

Su un sidenote ci sono molti plugin là fuori che promettono di rendere i tuoi file sicuri e protetti, ma molti di loro stanno solo fingendo di farlo, alcuni dei motivi sono sopra. Lo sto solo cercando perché sono abbastanza sicuro che non sia noto a tutti, quindi, sappi che.

Obbiettivo

La mia intenzione era quella di essere in grado di limitare l'accesso ad (alcuni) upload e download rispettivamente. E per assicurarsi che nessuno indesiderato possa accedervi, non per caso o se qualcuno conosceva il nome del file, i file dovrebbero essere davvero privati ​​e sicuri. Dopotutto solo alcune persone dovrebbero avere accesso senza eccezioni.

Inoltre non ho avuto bisogno di privatizzare l'intero sito, anzi sarebbe controproducente - è usato per scopi di presentazione pubblica. Inoltre volevo che la soluzione fosse facilmente utilizzabile, per la semplice ragione che alcune persone che ci lavorano non sono esattamente esperti di computer, come spesso accade.

Domanda

Da qui la domanda, esiste un modo (relativamente) semplice per limitare l'accesso ad (alcuni) caricamenti e ai rispettivi download? E come ho fatto, questo significa un modo per proteggerli davvero e metterli in sicurezza?


È necessario aggiungere la soluzione come risposta anziché incorporarla nella domanda.
s_ha_dum,

E per favore usa le lettere maiuscole / minuscole appropriate. Sembra una chat ...
Kaiser

Grazie per le critiche costruttive, lo modificherò e lo ristrutturerò presto.
Nicolai,

Risposte:


8

Sto rispondendo alla mia domanda, perché ho trovato una soluzione, ma sono davvero interessato alle tue opinioni nei suoi confronti. O forse hai una soluzione molto migliore, in tal caso, mi piacerebbe davvero qui.

Risultato della ricerca

I risultati della mia ricerca sono stati:
1. ottenere i file al di fuori della wwwcartella radice del documento ;
2. non consentire alcun accesso diretto alla cartella contenente i file;
3. lasciare che uno script gestisca le richieste ai file;
Le fonti di questi punti sono - almeno per lo più - incluse nella mia domanda.

Soluzione

  1. Ho installato il plug-in » wp-downloadmanager «
    • filesall'interno wp-contentdel processo verrà creata una cartella chiamata ;
  2. Ho aggiunto un .htaccessfile alla nuova filescartella:
    • contenuto di .htaccess:
      Options All -Indexes
      Order Deny,Allow
      Deny from all
  3. Ho cambiato un'opzione importante del plugin:
    • l'opzione che intendo è download method;
    • L'ho cambiato in output file;
  4. Ho aggiunto alcuni file tramite l'interfaccia del plugin:
    • c'è un'opzione chiamata allowed to download;
    • che consente di limitare l'accesso in base al ruolo / capacità dell'utente;
  5. Ho fatto alcuni test:
    • nessun accesso diretto ai file - non tramite la barra degli indirizzi o wget;
    • i download pubblici possono essere raggiunti tramite i loro permalink - scelgo »nice permalink: yes« e »download url: file id« sul pannello delle opzioni - anche la barra degli indirizzi / wget funziona;
    • i download protetti e limitati sono accessibili solo se si è effettuato l'accesso come utente con ruolo / capacità corretti;

Pensieri conclusivi

Sto pensando che la soluzione segua praticamente i risultati della ricerca. Oltre a posizionare i file all'esterno. Ma limitare l'accesso / proteggere la directory e lasciare che uno script gestisca le richieste di file è pieno. La restrizione dell'accesso è gestita dal .htaccesse lo script in questo caso è il plugin wp-downloadmanger.

Note supplementari

  • è assolutamente necessario per cambiare l' download methodaoutput file
  • e ovviamente è d' obbligo che il .htaccessfile sia a posto

  • per verificare il fatto che il plugin assuma il ruolo dello script, dai un'occhiata alle wp-downloadmanger.phprighe da 207 a 227 (versione 1.6.1); ciò è inteso come punto complementare alle informazioni collegate

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.