FTP significa File Transfer Protocol ed è un protocollo di rete progettato per trasferire file tra un client e un server. Puoi usarlo per caricare, scaricare, rinominare o eliminare file su un sistema remoto, purché l’account con cui ti colleghi disponga dei permessi necessari.
La definizione, però, spiega solo una parte del problema. Il protocollo ha un’architettura particolare: la connessione usata per impartire i comandi è separata da quella utilizzata per trasferire i dati. È questo meccanismo a spiegare porte 20 e 21, modalità attiva e passiva e molti dei problemi apparentemente inspiegabili in cui il login funziona ma il trasferimento no. Lo standard storico di riferimento è RFC 959.
C’è poi un aspetto di sicurezza da non ignorare: la versione classica non protegge con cifratura credenziali e dati trasferiti. Per questo, quando l’infrastruttura lo consente, è normalmente preferibile utilizzare FTPS o SFTP invece di una connessione non cifrata. Anche la documentazione WordPress sull’accesso sicuro ai file raccomanda SFTP quando il provider lo mette a disposizione.
In questa guida vediamo come funziona realmente il protocollo, quali porte utilizza, cosa cambia tra modalità attiva e passiva, come si effettua una connessione e soprattutto quando ha ancora senso utilizzarlo e quando è meglio scegliere un’alternativa più sicura.
Cos’è FTP e cosa significa File Transfer Protocol
FTP è un protocollo applicativo utilizzato per trasferire file attraverso una rete TCP/IP.
Il termine descrive quindi le regole con cui due sistemi comunicano. Non indica un programma specifico.
Quando apri un’applicazione come FileZilla e ti colleghi a un hosting, per esempio, entrano in gioco almeno tre elementi differenti:
- il client FTP, cioè il software da cui inizi la connessione;
- il server FTP, cioè il servizio remoto che accetta la connessione;
- il protocollo, cioè il sistema di comunicazione utilizzato dai due endpoint.
A questi si aggiunge normalmente un account, che stabilisce chi sei e quali file o directory puoi utilizzare.
Questa distinzione sembra elementare, ma evita molta confusione. Installare un client non significa installare il protocollo sul server, così come possedere un account dedicato non significa necessariamente poter modificare qualsiasi file presente sul sistema.
Protocollo, client e server sono cose diverse
Un client FTP presenta normalmente un’interfaccia che consente di visualizzare file locali e remoti e avviare operazioni come upload e download.
Il server svolge il ruolo opposto: ascolta le connessioni, autentica gli utenti e applica le regole definite dall’amministratore. Può limitare l’utente a una determinata directory, consentire soltanto alcune operazioni o rifiutare completamente la connessione.
I client grafici nascondono gran parte della comunicazione sottostante, ma quando trascini un file verso il server il programma sta in realtà generando una sequenza di comandi e gestendo una connessione dati separata.
Se vuoi confrontare i software disponibili, abbiamo dedicato una guida separata ai migliori client FTP, così da non trasformare questa spiegazione del protocollo in una classifica di programmi.
A cosa serve oggi
Il File Transfer Protocol nasce per lo scambio di file tra sistemi remoti, quindi il suo campo d’uso è molto più ampio dei soli siti web.
Può essere incontrato in:
- servizi di hosting;
- server e infrastrutture aziendali;
- sistemi legacy;
- procedure automatizzate di importazione o esportazione;
- repository e archivi ancora compatibili;
- workflow in cui un’applicazione deve inviare o ricevere file da un server remoto.
Nel web hosting è stato per anni uno dei modi più comuni per raggiungere direttamente i file del sito.
Oggi il quadro è diverso. Il protocollo continua a esistere ed è ancora supportato da software e infrastrutture reali, ma il fatto che sia disponibile non implica che una connessione non cifrata sia la scelta migliore per una nuova configurazione.
È una distinzione importante: “ancora utilizzato” e “raccomandato in ogni scenario” non significano la stessa cosa.
Come funziona il protocollo
Il sistema utilizza un modello client-server, ma non trasferisce comandi e file attraverso un’unica connessione.
La sua architettura prevede invece:
una connessione di controllo, utilizzata per comandi e risposte;
una connessione dati, aperta quando devono essere trasferiti file o determinate informazioni, come l’elenco di una directory.
RFC 959 descrive questa separazione direttamente nel modello del protocollo.
È uno degli elementi più importanti da comprendere perché spiega un comportamento tipico: puoi riuscire ad autenticarti correttamente ma non essere comunque in grado di visualizzare l’elenco dei file o completare un trasferimento.
In quel caso il problema può riguardare non la connessione principale, ma il secondo canale necessario per i dati.
Il canale di controllo e il canale dati
La connessione di controllo rimane normalmente aperta durante la sessione. Attraverso di essa passano operazioni come:
USER per indicare il nome utente;
PASS per l’autenticazione tramite password;
PWD per conoscere la directory corrente;
CWD per cambiare directory;
RETR per scaricare un file;
STOR per caricare un file;
QUIT per terminare la sessione.
Il server risponde a ogni richiesta attraverso codici numerici e messaggi testuali.
Quando invece devi scaricare un file, caricarlo o ottenere determinate informazioni sulla directory, viene preparata una connessione dati separata.
Questa architettura è molto diversa da quella che un utente può immaginare osservando soltanto l’interfaccia di un client grafico.
Porta 21, porta 20 e porte dinamiche: cosa viene usato davvero
La formula “si usano le porte 20 e 21” è utile come prima approssimazione, ma diventa imprecisa se la interpreti come una regola secondo cui ogni connessione debba sempre utilizzare entrambe.
Il registro ufficiale IANA dei nomi di servizio e delle porte assegna:
- porta 21 al canale di controllo;
- porta 20 al servizio
ftp-data, cioè al trasferimento dati predefinito del modello tradizionale.
Nella pratica il comportamento dipende però dalla modalità di connessione.
In una tipica sessione attiva, la porta 21 viene utilizzata per i comandi e la porta 20 può essere coinvolta nella connessione dati avviata dal server.
In modalità passiva, invece, il server mette a disposizione una porta per la connessione dati e comunica al client dove collegarsi. Quella porta può appartenere a un intervallo configurato dall’amministratore e non coincide necessariamente con la 20. La documentazione cPanel sulla modalità passiva descrive esplicitamente l’impiego di range di porte passive configurabili.
Quindi, se devi configurare un client, un firewall o un server, la regola corretta non è “apri sempre 20 e 21”. Devi sapere quale modalità utilizza il sistema e come è configurato il canale dati.
Modalità attiva e passiva: chi apre la connessione dati
La differenza riguarda soprattutto chi inizia la connessione destinata ai dati.
Nella modalità attiva:
- il client apre la connessione di controllo verso il server;
- comunica al server dove può ricevere la connessione dati;
- il server avvia la connessione dati verso il client.
Ed è proprio il terzo punto a poter creare problemi.
Un computer che si trova dietro un router NAT o un firewall può rifiutare una connessione in ingresso che non riconosce come parte di una comunicazione già autorizzata.
Nella modalità passiva, invece:
- il client apre la connessione di controllo;
- chiede al server di preparare una connessione dati;
- il server comunica una porta disponibile;
- anche la seconda connessione viene aperta dal client verso il server.
La documentazione cPanel sintetizza bene la conseguenza pratica: in passive mode è il client a iniziare entrambe le connessioni, caratteristica che tende a funzionare meglio nelle reti protette da NAT e firewall.
Ecco perché un errore come “connessione riuscita, recupero elenco directory bloccato” deve far pensare anche alla modalità utilizzata e al firewall, non soltanto alla password.
Trasferimento ASCII e binario: qual è la differenza
Il protocollo prevede diversi tipi di rappresentazione dei dati. I due termini che si incontrano più spesso nei client sono ASCII e binary, chiamato anche image type nello standard.
La modalità ASCII nasce per i file di testo e può comportare trasformazioni nella rappresentazione dei caratteri di fine riga tra sistemi differenti.
La modalità binaria trasferisce invece i byte senza questa trasformazione ed è quindi adatta a immagini, archivi, video, eseguibili e, più in generale, file che devono arrivare identici al destinatario.
I client moderni gestiscono spesso la scelta automaticamente. Se non hai una ragione precisa per modificare questa impostazione, evita di forzare la modalità ASCII su file che non siano realmente testo destinato a quel tipo di conversione.
Come si stabilisce una connessione
Per collegarti a un server non basta conoscere il nome del protocollo.
Devi disporre dei parametri esatti previsti dal servizio.
Normalmente servono:
- hostname o indirizzo del server;
- protocollo;
- porta;
- nome utente;
- password o altro sistema di autenticazione;
- eventuale directory iniziale;
- eventuali indicazioni sulla modalità attiva o passiva.
Il dato più importante è spesso quello che viene ignorato: usa il protocollo indicato dal provider.
Se l’hosting fornisce credenziali SFTP sulla porta 22, configurare una connessione classica sulla porta 21 non è un’alternativa equivalente. Stai tentando di parlare con un servizio differente.
Host, porta, username e password
L’host identifica il sistema a cui collegarsi.
Può coincidere con il dominio del sito, ma non è una regola. Un provider può fornire un hostname specifico oppure un indirizzo distinto dal dominio pubblico.
La porta permette invece di raggiungere il servizio corretto sul server.
Il canale di controllo utilizza tradizionalmente la porta 21, ma ciò non significa che un provider non possa configurare il servizio in modo differente o che la stessa porta valga per SFTP.
Username e password identificano l’account remoto.
Non devono essere confusi con altre credenziali dello stesso progetto. In un sito WordPress, per esempio, la password dell’amministratore e quella dell’account usato per accedere ai file sono normalmente due credenziali indipendenti.
Che cos’è un account di accesso
Un account di accesso definisce l’identità con cui accedi al server e le operazioni che puoi eseguire.
L’amministratore può configurarlo per:
- accedere soltanto a una determinata directory;
- leggere ma non modificare alcuni file;
- caricare file senza poterli cancellare;
- raggiungere uno specifico sito all’interno di un account che ne contiene più di uno.
Per questo due utenti collegati allo stesso server possono visualizzare contenuti differenti.
Se riesci ad autenticarti ma ricevi un errore quando tenti di modificare un file, il problema può dipendere proprio dai permessi dell’account e non dalla connessione.
Accesso anonimo: come funziona senza un normale account
Alcuni server possono consentire il cosiddetto accesso anonimo (anonymous).
In questo modello il server permette l’accesso senza un account personale tradizionale, spesso utilizzando un nome utente come anonymous.
È una configurazione storicamente usata per distribuire file pubblici.
Non significa però che il server sia completamente privo di controlli: l’amministratore può limitare directory e operazioni disponibili agli utenti anonimi.
In un normale hosting web in cui devi modificare file privati del tuo sito, l’accesso anonimo non è il modello da cercare.
Cosa significa un indirizzo ftp://
La forma:
ftp://server.example
identifica una risorsa attraverso lo schema URI del protocollo.
Per molto tempo era possibile inserire un indirizzo di questo tipo direttamente nel browser e ottenere un elenco di file o avviare un download.
Non puoi però usare questa esperienza storica come riferimento per i browser moderni.
Chrome ha eliminato il supporto integrato a questo tipo di URL e in Chrome 88 tutte le funzionalità collegate sono state disabilitate. Firefox ha seguito una strada analoga: Mozilla ha rimosso il supporto integrato da Firefox 90.
Questo non significa che lo schema ftp:// abbia smesso di esistere né che un server compatibile non sia più raggiungibile. Significa che per gestire una sessione oggi devi normalmente utilizzare un’applicazione dedicata o un altro strumento compatibile, non considerare il browser un client general purpose.
Server e client: che differenza c’è
Il rapporto tra server e client è semplice da ricordare:
il client chiede, il server decide se e come rispondere.
Il client è l’applicazione con cui inizi la sessione.
Il server è il servizio che ascolta le connessioni, autentica l’utente e mette a disposizione le risorse consentite.
Che cosa fa il server
Il server deve occuparsi almeno di:
- accettare connessioni;
- autenticare gli utenti;
- interpretare i comandi;
- stabilire le connessioni dati;
- controllare l’accesso alle directory;
- applicare permessi e restrizioni;
- registrare attività ed errori secondo la configurazione.
Il comportamento finale dipende dal software server e dalle policy dell’amministratore.
Non puoi quindi dedurre la configurazione soltanto dal tipo di protocollo.
Che cosa fa il client
Il client rende utilizzabile il protocollo senza costringerti a digitare manualmente ogni comando.
Un’interfaccia grafica può mostrarti:
- filesystem locale;
- filesystem remoto;
- coda dei trasferimenti;
- stato di upload e download;
- log della sessione;
- errori restituiti dal server;
- configurazioni salvate per server differenti.
FileZilla è uno degli esempi più conosciuti e supporta più protocolli di trasferimento. Se vuoi utilizzarlo concretamente, trovi una guida separata dedicata a come configurare e usare FileZilla.
Client grafico o riga di comando
Un client grafico è normalmente più comodo quando devi esplorare directory, confrontare file locali e remoti o gestire molti trasferimenti manualmente.
La riga di comando può invece essere utile per operazioni ripetibili, troubleshooting o ambienti in cui non hai un’interfaccia grafica.
Windows continua, per esempio, a documentare il comando ftp, con opzioni per stabilire connessioni e automatizzare sequenze di comandi.
La scelta non dipende dal fatto che un approccio sia “più professionale” dell’altro. Dipende dal task.
Per caricare manualmente tre file può essere più pratico un client grafico. Per una procedura ripetuta e controllata può avere senso un’interfaccia da terminale o, ancora meglio, uno strumento più moderno compatibile con il protocollo sicuro richiesto dall’ambiente.
Come trasferire file
Una normale connessione può essere configurata in pochi passaggi, ma conviene seguire un ordine preciso.
1. Recupera i dati di accesso
Non indovinare host, protocollo o porta.
Recuperali dal pannello hosting, dalla documentazione del server oppure dall’amministratore dell’infrastruttura.
Prima ancora di aprire il client devi sapere se il servizio richiede:
FTP, FTPS oppure SFTP.
È il controllo che evita più errori a cascata.
2. Configura protocollo e porta indicati dal server
Crea una nuova connessione nel client e inserisci i parametri ricevuti.
Se il server richiede il protocollo classico, la porta di controllo predefinita è 21. Se però il provider fornisce una porta differente, utilizza quella.
Non sostituire FTPS o SFTP con il protocollo classico soltanto perché conosci già la porta 21.
3. Collegati e identifica la directory remota
Dopo l’autenticazione il client mostra normalmente le directory disponibili.
Prima di caricare file verifica di essere nel percorso corretto.
Questo passaggio è particolarmente importante su hosting che contengono più domini, sottodomini o ambienti di staging: essere collegati al server giusto non significa automaticamente essere nella cartella del sito giusto.
4. Carica o scarica i file
Per un upload, il client invia un file locale al server.
Per un download avviene l’operazione opposta.
I client grafici permettono spesso di trascinare gli elementi tra le due aree dell’interfaccia, mentre internamente vengono utilizzati comandi come STOR e RETR.
Prima di sovrascrivere un file importante controlla percorso, nome e destinazione.
5. Controlla il risultato del trasferimento
Non considerare un trasferimento riuscito soltanto perché il file è scomparso dalla coda.
Controlla:
- stato finale;
- eventuali errori;
- dimensione del file;
- percorso remoto;
- log del client quando qualcosa non torna.
Una risposta di successo ti permette inoltre di capire se il server ha completato realmente l’operazione.
FTP è sicuro?
Il protocollo classico non offre cifratura per proteggere automaticamente autenticazione e contenuto del trasferimento.
Mozilla, spiegando la rimozione del supporto dal browser Firefox, richiama esplicitamente il problema del traffico in chiaro e dei rischi derivanti dall’intercettazione o dalla modifica dei dati.
Questo è il limite che cambia la decisione pratica.
Se devi collegarti attraverso una rete che non controlli o trasferire credenziali e dati che devono rimanere riservati, non sceglierei una connessione non cifrata quando il server offre SFTP o FTPS.
Perché la versione classica non cifra credenziali e file
Il protocollo originale nasce in un contesto di rete molto diverso da quello attuale.
Comandi, credenziali e dati non ricevono automaticamente una protezione crittografica equivalente a quella che ti aspetti oggi da protocolli sicuri.
Un utente che riesce a intercettare il traffico in un punto della rete può quindi ottenere informazioni che non dovrebbero essere visibili.
Il problema non si risolve scegliendo una password più complessa: una buona password protegge contro alcuni attacchi, ma non trasforma un protocollo non cifrato in un protocollo cifrato.
FTPS: protezione TLS per il protocollo
FTPS mantiene lo stesso modello di base aggiungendo un livello di protezione TLS.
RFC 4217 definisce l’utilizzo di TLS con questo protocollo e include comandi come AUTH TLS per avviare la negoziazione protetta. Lo stesso documento conferma la porta 21 come porta assegnata alla connessione di controllo.
Il punto importante è che FTPS resta basato sul modello originario.
Continua quindi ad avere concetti come:
- connessione di controllo;
- connessione dati;
- modalità attiva/passiva;
- necessità di gestire correttamente le connessioni attraverso firewall e NAT.
TLS aggiunge la protezione della comunicazione, ma non trasforma FTPS in SFTP.
SFTP non è FTP “con la S”
SFTP è un protocollo differente che utilizza l’infrastruttura SSH.
Non eredita il modello a doppia connessione nello stesso modo e normalmente utilizza una singola connessione SSH.
Questa differenza ha conseguenze concrete su configurazione, firewall, autenticazione e troubleshooting.
Nel nostro approfondimento dedicato a SFTP spieghiamo nel dettaglio il funzionamento attraverso SSH, la porta normalmente utilizzata e i comandi più utili.
Se un provider ti assegna un accesso SFTP, nel client devi quindi selezionare SFTP. Scegliere il protocollo classico e inserire semplicemente la porta di SSH non trasforma la connessione nel servizio corretto.
FTP vs FTPS vs SFTP: quale protocollo scegliere
I tre sistemi possono essere coinvolti nel trasferimento di file, ma non sono nomi intercambiabili dello stesso protocollo.

| Protocollo | Cifratura | Porta tipica | Architettura | Quando ha senso |
|---|---|---|---|---|
| FTP | No | 21 per il controllo | Controllo e dati separati | Sistemi legacy o ambienti che lo richiedono esplicitamente |
| FTPS | Sì, tramite TLS | Dipende dalla configurazione; la modalità esplicita parte normalmente dal controllo | Modello FTP con protezione TLS | Quando il server offre trasferimenti protetti tramite TLS |
| SFTP | Sì, tramite SSH | Normalmente 22 | Protocollo distinto attraverso SSH | In genere una scelta più semplice e sicura quando il server lo supporta |
Non sceglierei il protocollo sulla base del nome più familiare.
La prima domanda è: che cosa supporta realmente il server?
La seconda è: la connessione deve proteggere credenziali e dati?
Se il server offre soltanto la variante classica e devi interoperare con un sistema legacy, può essere una necessità tecnica.
Se hai invece libertà di scelta e il sistema mette a disposizione SFTP o FTPS, una connessione in chiaro raramente offre un vantaggio tale da giustificare la rinuncia alla cifratura.
Comandi e codici di risposta più utili
Se utilizzi un client grafico puoi lavorare con il protocollo senza digitare manualmente un comando.
Conoscerne alcuni, però, rende molto più semplice leggere i log e capire che cosa sta succedendo quando la connessione fallisce.
Tra i comandi fondamentali trovi:
USER — comunica il nome utente;
PASS — invia la password richiesta dall’autenticazione;
PWD — mostra la directory corrente;
CWD — cambia directory;
LIST — richiede informazioni sul contenuto della directory;
RETR — recupera un file dal server;
STOR — invia un file al server;
DELE — richiede l’eliminazione di un file;
PASV — chiede al server di entrare in modalità passiva;
QUIT — termina la sessione.
RFC 959 definisce la sintassi e il comportamento dei comandi fondamentali.
Cosa significano le risposte 1xx, 2xx, 3xx, 4xx e 5xx
Le risposte del server sono organizzate in classi.
1xx indica che l’operazione è stata avviata e richiede ulteriori passaggi.
2xx segnala generalmente il completamento positivo di un’operazione.
3xx significa che il comando è stato accettato, ma il server richiede altre informazioni.
4xx indica un errore temporaneo: l’operazione potrebbe funzionare riprovando dopo aver corretto la causa.
5xx rappresenta invece un errore permanente rispetto alla richiesta corrente.
Alcuni codici che compaiono spesso nei log sono:
220 — servizio pronto;
226 — trasferimento o connessione dati completati;
230 — utente autenticato;
421 — servizio non disponibile;
425 — impossibile aprire la connessione dati;
530 — autenticazione non riuscita o utente non autorizzato;
550 — file o operazione richiesta non disponibili, spesso per percorso o permessi.
Il numero restringe immediatamente l’area del problema. Un 530 suggerisce di indagare autenticazione e account; un 425 sposta l’attenzione sulla data connection; un 550 porta invece verso percorso, file e autorizzazioni.
Cosa significa ftp -s in Windows
La query ftp -s può creare confusione perché quella s non indica SFTP.
Nel client a riga di comando di Windows, l’opzione:
-s:<filename>
permette di indicare un file di testo contenente una sequenza di comandi che il programma deve eseguire automaticamente. Microsoft continua a documentare questa sintassi nel comando ftp.
Quindi:
ftp -s:comandi.txt
significa sostanzialmente “avvia il client ed esegui i comandi contenuti in questo file”.
Non significa “usa un trasferimento sicuro” e non abilita SFTP.
Problemi di connessione più comuni
Quando un client restituisce un errore, cambiare contemporaneamente host, porta, password e modalità è il modo più rapido per perdere il punto in cui si trova realmente il problema.
Conviene invece capire in quale fase si interrompe la sessione.
Il server non risponde
Se il client non riesce nemmeno a stabilire la connessione di controllo, verifica:
- hostname;
- porta;
- protocollo;
- connettività;
- eventuali blocchi firewall;
- stato del servizio server;
- restrizioni IP.
Un errore immediato di “connection refused” non indica lo stesso problema di un timeout.
Nel primo caso potresti aver raggiunto l’host senza trovare un servizio in ascolto sulla porta selezionata. Nel secondo il traffico può essere bloccato o il server potrebbe non essere raggiungibile.
Login o password vengono rifiutati
Se il server risponde ma l’autenticazione fallisce, controlla:
- username esatto;
- password;
- stato dell’account;
- protocollo richiesto;
- eventuali restrizioni sull’origine della connessione.
Un account SFTP non deve essere dato per scontato come account del protocollo classico e viceversa.
Anche la presenza dello stesso username su più servizi non garantisce che le credenziali siano condivise.
Il login funziona ma l’elenco directory rimane bloccato
Questo è uno degli scenari che meglio mostra la particolare architettura del protocollo.
La connessione di controllo può funzionare perfettamente mentre quella dati non riesce ad aprirsi.
In questo caso verifica soprattutto:
- modalità passiva;
- firewall del computer;
- firewall del server;
- NAT/router;
- range di porte passive configurato sul server.
cPanel documenta espressamente che nella modalità passiva la connessione dati può utilizzare un intervallo di porte che deve essere coerente anche con la configurazione firewall.
Se il problema compare soltanto durante LIST, download o upload, non partire dalla password: guarda prima il canale dati.
Il trasferimento restituisce “permission denied” o errore 550
Essere autenticati non significa avere diritto di modificare qualsiasi risorsa.
L’account può essere limitato a una directory oppure non possedere i permessi necessari sul file.
In questo caso la soluzione non è assegnare indiscriminatamente permessi più permissivi.
Devi prima capire:
- chi possiede il file;
- quali permessi sono previsti;
- con quale account ti sei collegato;
- quale directory è assegnata all’utente;
- se il server applica ulteriori restrizioni.
Su WordPress, per esempio, permessi troppo permissivi possono creare un problema di sicurezza invece di risolvere quello di accesso. La documentazione WordPress sui permessi dei file raccomanda di limitare i permessi a ciò che è realmente necessario.
FTP è ancora usato o è diventato obsoleto?
Definirlo semplicemente “morto” è impreciso.
Definirlo invece una scelta moderna priva di controindicazioni sarebbe altrettanto sbagliato.
Il protocollo continua a esistere, IANA mantiene le assegnazioni delle porte previste e strumenti correnti come Windows conservano ancora un client documentato.
Quello che è cambiato è il contesto in cui viene utilizzato.
Perché Chrome e Firefox hanno eliminato il supporto integrato
I browser hanno progressivamente abbandonato questo protocollo perché il loro obiettivo non è più funzionare anche come semplici client universali per un sistema legacy non cifrato.
Chrome ha rimosso il supporto a questi URL dal proprio stack integrato. Google evidenzia tra le ragioni anche l’assenza di connessioni cifrate nell’implementazione del browser e la disponibilità di client dedicati più completi.
Mozilla ha seguito la stessa direzione rimuovendo il supporto integrato da Firefox e richiamando esplicitamente i problemi di sicurezza del traffico in chiaro.
La conseguenza pratica è semplice: non usare un vecchio tutorial che ti dice di digitare ftp:// nella barra del browser come procedura standard per gestire un server remoto.
Dove viene ancora utilizzato
Puoi ancora incontrarlo in:
- hosting che mantengono compatibilità con il protocollo;
- infrastrutture legacy;
- processi automatici già esistenti;
- apparati o software che supportano protocolli tradizionali;
- reti private con requisiti specifici;
- sistemi in cui la migrazione a un protocollo differente non è ancora stata effettuata.
In questi scenari la domanda corretta non è se il protocollo esista ancora, perché la risposta può essere sì.
La domanda utile è:
posso utilizzare un protocollo cifrato senza interrompere la compatibilità richiesta dal sistema?
Quando scegliere invece FTPS o SFTP
Se stai progettando una nuova connessione e puoi scegliere liberamente, partirei verificando SFTP o FTPS prima della soluzione non cifrata.
SFTP tende a semplificare anche alcuni aspetti di rete perché non usa la stessa separazione controllo/dati.
FTPS può invece essere la scelta corretta quando devi mantenere compatibilità con un’infrastruttura esistente ma vuoi proteggere la sessione tramite TLS.
La versione classica resta giustificabile soprattutto quando un sistema esistente la richiede realmente e hai valutato il rischio della rete su cui avviene il trasferimento.
È questo il criterio che conta. Non l’età del protocollo, ma il rapporto tra compatibilità, sicurezza e infrastruttura reale.
FTP e WordPress: cosa cambia per un sito
In WordPress non è necessario usare questo tipo di accesso per pubblicare normalmente articoli o modificare pagine.
L’accesso diretto ai file diventa utile soprattutto quando devi operare al di fuori della dashboard.
Può servire, per esempio, per:
- raggiungere
wp-content; - intervenire su un plugin che blocca il sito;
- controllare file di configurazione;
- caricare o scaricare file manualmente;
- accedere al filesystem quando
wp-adminnon è disponibile.
La documentazione WordPress indica SFTP come alternativa preferibile quando l’hosting lo supporta perché password e dati vengono trasferiti attraverso una connessione protetta.
Per configurazione, credenziali, directory WordPress, File Manager e casi di troubleshooting abbiamo una guida separata dedicata a come usare FTP, FTPS o SFTP con WordPress.
Separare i due argomenti è utile: qui il punto è comprendere il protocollo; nella guida WordPress il problema è capire come intervenire correttamente sui file di un’installazione reale.
Se invece l’accesso ai file è soltanto il sintomo di un problema più ampio — sito bloccato, plugin in errore, permessi errati o configurazioni server che non vuoi modificare direttamente in produzione — può essere più sicuro passare da un intervento di assistenza WordPress piuttosto che procedere per tentativi.
Conclusione
Il File Transfer Protocol resta importante da conoscere perché spiega ancora molti sistemi di trasferimento file e continua a comparire in hosting, software e infrastrutture esistenti.
Il punto da ricordare è però come funziona, non soltanto cosa significa l’acronimo.
La sua architettura utilizza una connessione di controllo e una connessione dati separata. La porta 21 identifica normalmente il controllo, mentre il comportamento della connessione dati cambia tra modalità attiva e passiva. Questo meccanismo spiega molti problemi legati a firewall, NAT e directory listing.
Sul piano della sicurezza, invece, la decisione è più netta: la versione classica non dovrebbe essere la scelta automatica quando hai a disposizione un’alternativa cifrata.
Se il server supporta SFTP, valuterei normalmente quello per primo. Se devi mantenere il modello originario ma l’infrastruttura offre TLS, FTPS permette di proteggere la comunicazione. Se un sistema legacy richiede una connessione non cifrata, utilizzala conoscendone i limiti e senza trasformare una necessità di compatibilità in una best practice universale.
Capire questa distinzione ti permette di fare la cosa più importante: non configurare un trasferimento semplicemente perché “funziona”, ma scegliere il protocollo corretto per il server, la rete e i dati che devi realmente trasferire.
