Cos'è l'FTP e come si usa (e perché usare SFTP)
Cos'è l'FTP, come si collega a un server, la differenza tra FTP, FTPS e SFTP e perché oggi l'FTP semplice non andrebbe più usato per nessun motivo.
Se hai mai messo online un sito su un hosting tradizionale, hai incontrato l'FTP: un programma con due riquadri affiancati, i tuoi file da una parte e il server dall'altra. È una tecnologia vecchia di cinquant'anni, ancora diffusissima e con un problema di sicurezza serio che in molti ignorano. In questo articolo ti spiego come si usa e perché la versione che dovresti usare è un'altra.
Cos'è l'FTP
L'FTP (File Transfer Protocol) è un protocollo per trasferire file tra il tuo computer e un server remoto. Ti permette di caricare, scaricare, rinominare ed eliminare file su uno spazio web come se fosse una cartella del tuo computer.
È nato nei primi anni Settanta, prima del web stesso. Questo spiega sia la sua diffusione sia il suo limite principale.
Il problema di sicurezza
Va detto subito, perché è la cosa più importante dell'articolo.
L'FTP classico trasmette tutto in chiaro: nome utente, password e contenuto dei file viaggiano non cifrati. Chiunque sia in condizione di osservare il traffico — su una rete Wi-Fi pubblica, per esempio — può leggere le tue credenziali così come le hai digitate.
Non è un rischio teorico. Le credenziali FTP rubate sono uno dei modi più comuni con cui i siti vengono compromessi, perché chi ha accesso FTP può modificare qualunque file, inclusi quelli che eseguono codice.
Le versioni sicure:
| Protocollo | Cifratura | Porta tipica |
|---|---|---|
| FTP | Nessuna | 21 |
| FTPS | FTP con TLS aggiunto | 21 / 990 |
| SFTP | Cifrato, basato su SSH | 22 |
Usa SFTP. È il più diffuso, il più semplice da configurare e cifra tutto per costruzione. Quasi ogni hosting lo supporta: spesso basta cambiare protocollo e porta nel programma che già usi.
Se il tuo hosting offre solo FTP in chiaro, è un segnale su cui riflettere.
Come ci si collega
Servono quattro informazioni, che trovi nel pannello del tuo hosting:
- Host — l'indirizzo del server (
ftp.tuosito.ito un indirizzo IP) - Utente e password
- Porta — 22 per SFTP, 21 per FTP
I programmi più usati sono client grafici con la classica interfaccia a due riquadri: a sinistra il tuo computer, a destra il server, e si trascinano i file da una parte all'altra. FileZilla, WinSCP, Cyberduck sono i più diffusi. Molti editor di codice hanno l'FTP integrato.
Dove finiscono i file del sito: in una cartella che di solito si chiama public_html, www o httpdocs. È quella la radice del tuo sito — un file caricato lì dentro diventa raggiungibile dal web.
Attenzione a non caricare i file fuori da quella cartella: è l'errore che fa dire "ho caricato tutto ma il sito non si vede".
Cosa fare e cosa non fare
Va bene usarlo per:
- Caricare un sito statico su un hosting tradizionale
- Recuperare file da un sito esistente
- Sistemare al volo un file quando il sito è rotto e non hai alternative
- Scaricare i contenuti caricati per un backup
Non è il caso di usarlo per:
Aggiornare un sito in produzione a mano. È la pratica che genera più incidenti: si carica un file a metà, si sovrascrive la versione sbagliata, si dimentica un pezzo. E soprattutto non c'è modo di tornare indietro.
Come metodo di deploy. Oggi esistono strumenti molto migliori: un deploy da Git è tracciabile, ripetibile e reversibile. Con l'FTP, se rompi qualcosa non sai nemmeno cosa hai cambiato.
Per gestire i contenuti. I contenuti stanno nel database, non nei file. Caricare un'immagine via FTP su WordPress non la rende visibile nella libreria multimediale.
Gli errori più comuni
Connessione rifiutata. Nove volte su dieci è la porta sbagliata: 22 per SFTP, 21 per FTP. Oppure il firewall del tuo lato blocca la connessione.
Modalità passiva. Se ti colleghi ma l'elenco dei file resta vuoto, prova a passare alla modalità passiva nelle impostazioni. È un problema noto legato al modo in cui l'FTP apre le connessioni, e la modalità passiva lo risolve quasi sempre.
Permessi sbagliati dopo il caricamento. Se il sito dà errore 403 dopo aver caricato i file, controlla i permessi: tipicamente 644 per i file e 755 per le cartelle. Non impostare 777 per "risolvere": significa dare a chiunque il permesso di scrivere, ed è una vulnerabilità.
File nascosti invisibili. File come .htaccess iniziano con un punto e molti client li nascondono di default. Va attivata l'opzione per mostrarli.
Trasferimenti interrotti. Su molti file piccoli l'FTP è lento. Meglio comprimere in un archivio, caricare quello e decomprimere sul server se possibile.
Caratteri accentati nei nomi. Fonte di problemi ricorrenti: meglio nomi di file senza accenti e senza spazi.
Le alternative moderne
Vale la pena sapere che, per un progetto nuovo, l'FTP spesso non serve affatto:
Deploy da Git. Fai una modifica, la invii al repository, il sito si aggiorna da solo. È lo standard sulle piattaforme moderne, e ogni cambiamento è tracciato e reversibile — vedi usare Git e GitHub.
Interfacce a riga di comando dei servizi di hosting, che caricano solo ciò che è cambiato.
SSH con rsync, che sincronizza le differenze invece di ricaricare tutto: molto più veloce.
L'FTP resta pertinente soprattutto sugli hosting condivisi tradizionali, dove spesso è l'unico accesso disponibile — ed è il motivo per cui vale ancora la pena saperlo usare.
In sintesi
L'FTP trasferisce file tra il tuo computer e un server, con la classica interfaccia a due riquadri. Serve host, utente, password e porta, e i file del sito vanno nella cartella radice (public_html o simili).
La cosa da ricordare più di ogni altra: usa SFTP, non FTP. Il protocollo classico manda password e file in chiaro, ed è un modo concreto e frequente di farsi compromettere un sito.
Va bene per caricare un sito statico, recuperare file o sistemare un'emergenza. Non è il modo giusto di aggiornare un sito in produzione: per quello servono strumenti che permettano di tornare indietro.
E se stai partendo con un progetto nuovo, valuta se ti serve davvero: sulle piattaforme moderne il deploy da Git ha reso l'FTP superfluo nella maggior parte dei casi.