L’errore 403 Forbidden è uno dei messaggi più frustranti che si possano incontrare: il sito è online, il server risponde, ma ti dice chiaramente che non puoi entrare. A differenza di un errore 404, la pagina esiste; a differenza di un errore 401, non basta inserire una password. Il server ha capito la richiesta e ha deciso di rifiutarla.
In questa guida vediamo che cosa significa esattamente, come si presenta sui diversi server, quali sono le cause più frequenti e come risolverlo passo per passo, sia se stai visitando un sito sia se il sito è tuo, con un capitolo dedicato a WordPress.
Cosa significa errore 403
Il codice 403 appartiene alla famiglia degli errori 4xx, che indicano un problema legato alla richiesta e non un guasto del server. Nello specifico comunica che l’accesso alla risorsa è vietato. Le ragioni del divieto possono essere legittime, come un’area riservata o una cartella che non deve essere navigabile, oppure frutto di un errore di configurazione. Nel secondo caso il sito blocca anche visitatori che dovrebbero poter entrare, a volte compreso il proprietario.
Un dettaglio utile: il 403 non dice perché l’accesso è vietato. Per motivi di sicurezza il server evita di spiegarlo al visitatore, e la causa reale si trova quasi sempre nei log, che vedremo più avanti.
Come si presenta l’errore 403
Il testo del messaggio cambia a seconda del software che gestisce il sito, ma il significato è sempre lo stesso. Riconoscere la variante ti dice già qualcosa su dove cercare.
| Messaggio | Dove lo vedi di solito |
|---|---|
| Forbidden – You don’t have permission to access this resource | Server Apache, spesso per permessi o regole nel file .htaccess |
| 403 Forbidden con la scritta nginx in fondo alla pagina | Server Nginx, per permessi, file indice mancante o regole di accesso |
| Access denied o Error 1020 | Firewall di Cloudflare, che blocca la richiesta prima che arrivi all’hosting |
| Not Acceptable o pagine di blocco del provider | Firewall applicativi come ModSecurity, che fermano richieste ritenute sospette |
| Accesso negato o HTTP Error 403 | Messaggi generici mostrati dal browser o da pagine di errore personalizzate |
Le cause più comuni
Permessi di file e cartelle errati. Il server web deve poter leggere i file del sito. Su un normale hosting Linux, i permessi corretti sono di solito 644 per i file e 755 per le cartelle. Permessi più restrittivi impediscono la lettura e producono un 403; quelli troppo permissivi, come 777, su molti server vengono rifiutati per motivi di sicurezza e possono causare anche un errore 500.
Regole nel file .htaccess. Sui server Apache e LiteSpeed, il file .htaccess può contenere direttive che bloccano indirizzi IP, paesi, tipi di file o intere cartelle. Una regola scritta male o aggiunta da un plugin di sicurezza può bloccare l’intero sito. Un esempio tipico è una regola come questa, che nega l’accesso a tutti tranne un indirizzo:
Require all denied
Require ip 203.0.113.10
Se il tuo indirizzo IP cambia, perché la connessione di casa assegna IP dinamici, ti ritrovi chiuso fuori dal tuo stesso sito.
Assenza del file indice. Se apri una cartella che non contiene un file index.html o index.php e il server ha la navigazione delle cartelle disattivata, come è giusto che sia, ricevi un 403 invece dell’elenco dei file. Succede spesso dopo un caricamento incompleto o quando i file finiscono nella cartella sbagliata.
Firewall e regole di sicurezza. Firewall applicativi come ModSecurity, sistemi anti-bot e plugin di sicurezza possono bloccare il tuo indirizzo IP dopo troppi tentativi di accesso falliti, oppure bloccare richieste che contengono parole o caratteri considerati sospetti, come capita a volte salvando un articolo che contiene codice. Anche il firewall di un CDN come Cloudflare può restituire un 403 per paesi, reti o comportamenti filtrati.
Proprietario dei file errato. Dopo una migrazione o un’operazione eseguita con un utente diverso, per esempio caricando file come utente root su un VPS, i file possono appartenere a un utente che il server web non è autorizzato a leggere.
Protezione dall’hotlinking. Alcuni siti impediscono ad altri domini di incorporare le proprie immagini. Se la regola è configurata male, il 403 colpisce anche le immagini richieste dal sito stesso, che appaiono come riquadri vuoti.
Come risolvere se sei un visitatore
Da visitatore hai margini limitati, ma alcune verifiche risolvono molti casi. Controlla di aver scritto correttamente l’indirizzo, perché puntare a una cartella invece che a una pagina può produrre un 403. Svuota cache e cookie del sito e riprova, eventualmente in una finestra in incognito. Disattiva VPN e proxy: molti siti bloccano le reti condivise da cui arrivano attacchi automatici. Se sei su una rete aziendale o scolastica, prova da un’altra connessione, perché il blocco potrebbe dipendere dall’indirizzo IP della rete. Se l’errore persiste, contatta il gestore del sito, che è l’unico a poter modificare le regole di accesso.
Come risolvere se il sito è tuo
Procedi dalla causa più probabile alla meno probabile, verificando il risultato dopo ogni passaggio. Prima di modificare qualsiasi file, assicurati di avere un backup.
1. Leggi il log degli errori
Il pannello dell’hosting mostra il log del server web, ed è il modo più rapido per smettere di tirare a indovinare. Una riga come questa indica un problema di permessi su un file preciso:
[core:error] [pid 1234] (13)Permission denied: AH00132: file permissions deny server access: /home/utente/public_html/index.php
Se invece la riga cita ModSecurity o un identificativo di regola, il blocco viene dal firewall applicativo. Se non sai dove trovare i log, la guida ai log del server ti spiega come fare.
2. Controlla il file .htaccess
Rinominalo temporaneamente, per esempio in .htaccess-old, dal file manager o via FTP. Ricorda che è un file nascosto: nel client FTP potresti dover attivare la visualizzazione dei file nascosti. Se il sito torna accessibile, il problema è in una delle sue regole. Puoi ricostruire il file aggiungendo le regole una alla volta, oppure, su WordPress, rigenerarne uno pulito salvando di nuovo le impostazioni dei permalink.
3. Verifica i permessi
Dal file manager o dal client FTP controlla che i file abbiano permessi 644 e le cartelle 755. Il file wp-config.php può avere permessi più restrittivi, come 600 o 640, purché il server riesca comunque a leggerlo. Su un VPS puoi correggere i permessi di un intero sito con due comandi lanciati dalla cartella principale:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Se il problema è il proprietario dei file, il comando chown permette di riassegnarli all’utente corretto; su un hosting condiviso, invece, chiedi all’assistenza di farlo per te.
4. Controlla il file indice e la cartella di destinazione
Verifica che nella cartella principale del sito, di solito public_html o httpdocs, esista un file index.php o index.html e che i file non siano stati caricati in una sottocartella per errore.
5. Escludi firewall e CDN
Se il sito passa da Cloudflare, controlla nella sezione dedicata agli eventi di sicurezza se le tue richieste sono state bloccate e da quale regola. Se usi il firewall dell’hosting, verifica che il tuo indirizzo IP non sia nella lista dei bloccati: è frequente dopo qualche password sbagliata. Puoi scoprire il tuo IP pubblico cercando “qual è il mio IP” su qualsiasi motore di ricerca.
Errore 403 su WordPress: i casi tipici
Su WordPress il 403 ha alcune cause ricorrenti che vale la pena conoscere. La prima è un plugin di sicurezza troppo zelante, che blocca la pagina di login, l’area amministrativa o alcune azioni come il salvataggio degli articoli. Puoi escluderlo disattivandolo: se non riesci ad accedere alla bacheca, rinomina la sua cartella in wp-content/plugins via FTP.
La seconda è un blocco di ModSecurity sul salvataggio: se il 403 compare solo quando pubblichi un articolo che contiene codice, script o determinate parole, il firewall dell’hosting sta scambiando il contenuto per un attacco. In questo caso l’assistenza può disattivare la singola regola che scatta, senza ridurre la protezione del resto del sito.
La terza è un 403 sulla cartella wp-admin o su wp-login.php causato da regole di protezione aggiunte nel file .htaccess, che consentono l’accesso solo da determinati indirizzi IP. Per molti altri problemi specifici di WordPress puoi consultare la guida agli errori di WordPress.
Se nessuno di questi passaggi risolve il problema, contatta l’assistenza dell’hosting indicando l’indirizzo della pagina, l’ora dell’errore e il tuo indirizzo IP: potrebbe trattarsi di una regola di sicurezza a livello di server che non puoi modificare.
Errore 403 e SEO
Se una pagina che vuoi far trovare su Google restituisce un 403, il motore di ricerca non può leggerla e, se l’errore persiste, la rimuove dai risultati. Fai attenzione in particolare alle regole anti-bot troppo aggressive, che possono bloccare anche Googlebot: lo strumento di controllo degli URL di Search Console mostra se Google riesce ad accedere alla pagina, e il rapporto sull’indicizzazione elenca le pagine bloccate con questo codice. Al contrario, il 403 è perfettamente adeguato per cartelle tecniche e aree che non devono essere né visitate né indicizzate.
Domande frequenti
Che differenza c’è tra errore 403 e 401?
Con un 401 il server chiede di autenticarti: inserendo credenziali valide, l’accesso viene concesso. Con un 403 il server rifiuta l’accesso a prescindere dalle credenziali, per permessi o regole di sicurezza.
Perché vedo un 403 solo sulla pagina di login di WordPress?
È quasi sempre un blocco di sicurezza: un plugin o il firewall dell’hosting limitano l’accesso a wp-login.php o a wp-admin dopo troppi tentativi falliti, oppure consentono l’accesso solo da determinati indirizzi IP.
Posso impostare i permessi a 777 per risolvere?
No. Rendere file e cartelle scrivibili da chiunque è un rischio di sicurezza e su molti server provoca a sua volta un errore 500 o un 403. I valori corretti restano 644 per i file e 755 per le cartelle.
Il 403 può dipendere dal mio browser?
Raramente, ma succede: cookie corrotti o estensioni che modificano le richieste possono far scattare regole di sicurezza. Per questo, prima di tutto, conviene provare in una finestra in incognito.








