Un modulo «Lavora con noi» con il campo per il curriculum, una richiesta di preventivo con allegato, un negozio che accetta il file da stampare su una maglietta, un’area riservata dove i clienti caricano documenti. Permettere ai visitatori di caricare file è utile, ma è anche una delle funzioni più delicate di un sito. In questo articolo vediamo perché, quali sono i rischi principali e quali accortezze adottare, senza bisogno di essere programmatori.
Perché il caricamento di file è delicato
Quando un visitatore carica un file, quel file finisce sul tuo spazio web. Se il sito non controlla bene cosa accetta e dove lo mette, possono succedere tre cose spiacevoli:
- Codice al posto di un documento: invece di un’immagine o di un PDF, qualcuno carica un file che il server potrebbe eseguire come programma. È uno dei modi classici per installare una backdoor.
- File che danneggiano chi li apre: documenti con macro malevole o allegati infetti, pensati non per il server ma per te o per i tuoi dipendenti che li scaricano.
- Dati personali esposti: curriculum, documenti d’identità, contratti caricati in una cartella che chiunque può raggiungere conoscendo l’indirizzo, o che i motori di ricerca finiscono per indicizzare.
A queste si aggiunge un rischio più banale: lo spazio. Un modulo senza limiti può riempirsi di file enormi o inutili.
Le accortezze principali
Accetta solo i tipi di file che ti servono
Se ti servono curriculum, accetta PDF e poco altro. Se ti servono foto, accetta i formati di immagine. Ogni plugin di moduli serio permette di indicare le estensioni consentite: usa un elenco corto, e mai «qualsiasi file».
Limita la dimensione
Imposta una dimensione massima ragionevole per il tipo di file che ti aspetti. Tieni presente che esistono anche i limiti di PHP sul caricamento, che puoi vedere e regolare dal pannello: il limite del modulo e quello di PHP devono essere coerenti, altrimenti l’utente riceve errori poco chiari.
Usa plugin e moduli affidabili e aggiornati
Il controllo vero sul tipo di file lo fa il codice del plugin. Le falle nei moduli di caricamento sono tra quelle più cercate da chi attacca, proprio perché possono portare a far eseguire codice sul server. Scegli componenti diffusi e mantenuti, e aggiornali appena esce una correzione.
Non rendere pubblici i file privati
Un documento caricato da un cliente non dovrebbe avere un indirizzo pubblico che chiunque possa aprire. Molti plugin permettono di salvare gli allegati in una cartella protetta, o di inviarli solo per email senza tenerli sul sito. Se il plugin che usi li salva in una cartella pubblica, valuta un’alternativa o chiedi aiuto al tuo sviluppatore.
Non fidarti dell’estensione
Un file che si chiama «documento.pdf» non è per forza un PDF. Quando apri gli allegati ricevuti dai moduli, valgono le stesse regole delle email: antivirus aggiornato sul computer, macro dei documenti disattivate, prudenza con i file inattesi.
Proteggi i moduli dallo spam
Un modulo pubblico con caricamento di file attira i programmi automatici. Un sistema anti-spam (una domanda di controllo, un captcha, un campo nascosto) riduce molto il volume di invii falsi.
Fai pulizia
Curriculum di due anni fa, preventivi chiusi, documenti di clienti che non lo sono più: se non ti servono, cancellali. Oltre a liberare spazio, riduci i dati personali che custodisci e quindi le tue responsabilità in caso di problemi.
Una tabella di riepilogo
| Rischio | Accortezza |
|---|---|
| File eseguibili caricati al posto di documenti | Elenco corto di estensioni consentite, plugin aggiornati |
| Allegati infetti per chi li apre | Antivirus sul computer, macro disattivate, prudenza |
| Documenti personali raggiungibili da chiunque | Cartelle protette o invio solo via email |
| Spazio occupato da file inutili | Limite di dimensione, anti-spam, pulizia periodica |
E i caricamenti dell’amministrazione?
Anche dal pannello di amministrazione del CMS si caricano file: immagini, temi, plugin, moduli. Qui il rischio è diverso: chi può caricare un plugin può far eseguire qualsiasi codice al sito. È un motivo in più per limitare i ruoli di amministratore alle persone che ne hanno davvero bisogno, e per installare solo componenti scaricati dalle fonti ufficiali.
Cosa facciamo noi
Sul server ci sono più livelli di protezione che lavorano anche sui file caricati:
- cPGuard controlla ogni giorno i file del tuo spazio e mette in quarantena quelli riconosciuti come infetti; il suo firewall applicativo blocca le richieste che provano a sfruttare una falla o ad accedere a webshell; puoi anche avviare una scansione dal pannello quando vuoi, per esempio dopo aver ricevuto molti file;
- Security Intelligence blocca scanner e tentativi di attacco e protegge i file del sito dalle modifiche non autorizzate;
- la gestione delle vulnerabilità porta protezioni mirate quando viene scoperta una falla in un plugin diffuso, compresi quelli dei moduli.
Queste difese bloccano ciò che riconoscono come malevolo, ma la scelta di cosa accettare e dove salvarlo resta nella configurazione del tuo sito.
In sintesi
- Accetta solo i tipi di file che ti servono, con un limite di dimensione.
- Usa plugin di moduli affidabili e aggiornati.
- Tieni i documenti privati fuori dalle cartelle pubbliche.
- Apri gli allegati con prudenza e cancella quelli che non servono più.
Hai un modulo di caricamento e non sei sicuro di come sia configurato? Apri un ticket dall’area clienti e ne parliamo.