HTTP 403 Forbidden
Accesso negato: il server ha compreso la richiesta e rifiuta deliberatamente di soddisfarla.
Cosa significa HTTP 403
HTTP 403 Forbidden significa che il server sa cosa hai chiesto e rifiuta. A differenza di 401, autenticarsi (di nuovo) non aiuterà — il rifiuto riguarda i permessi o le policy, non l'identità.
Le ragioni vanno dai permessi del file system sul server, ai blocchi geografici/IP, fino a un web application firewall che decide che la richiesta sembra malevola. Alcuni siti restituiscono anche 403 invece di 404 per nascondere se una risorsa esiste.
Cause comuni degli errori 403
- Diritti insufficienti: l'account non ha il ruolo, oppure il file non ha i permessi di lettura (chmod/proprietario sul server).
- Indirizzo IP, paese o user-agent bloccato dal server, dalla CDN o da una regola WAF.
- Elenco delle directory richiesto dove l'autoindex è disabilitato (nessun index.html nella cartella).
- Protezione hotlink che rifiuta le richieste con un Referer esterno.
- Una verifica di Cloudflare o di un altro WAF è fallita — il traffico automatizzato spesso vede 403 qui.
Come risolverlo da utente
- Verifica di essere connesso a un account che ha effettivamente accesso.
- Prova senza VPN o proxy — il tuo IP di uscita potrebbe essere bloccato.
- Se possiedi il contenuto, controlla i permessi dei file e le regole .htaccess/WAF invece di riprovare.
Come risolverlo da sviluppatore
- Controlla proprietà e permessi dei file (ad esempio 644 per i file / 755 per le directory nei server web tipici).
- Rivedi le regole di negazione: .htaccess, direttive deny di nginx, plugin di sicurezza, regole gestite del WAF.
- Assicurati che esista un documento indice o abilita/disabilita esplicitamente l'elenco delle directory come previsto.
- Per le API, restituisci 403 con una motivazione leggibile dalla macchina così i client possono distinguere policy da errori di autenticazione.
Esempio di risposta
HTTP/1.1 403 Forbidden
Content-Type: application/json
{"error":"forbidden","reason":"account lacks role: admin"}FAQ
Qual è la differenza tra 403 e 401?
401 ti chiede di autenticarti; 403 dice che l'autenticazione non cambierà la risposta — semplicemente non hai il permesso.
Perché un bot o uno script riceve 403 mentre un browser funziona?
Un WAF o uno strato di protezione anti-bot sta filtrando il traffico non da browser. Identificati correttamente o usa l'API ufficiale del sito.
Un 403 può essere restituito al posto di un 404?
Sì — alcuni server nascondono l'esistenza delle risorse rispondendo in modo uniforme con 403 (o 404) per qualsiasi cosa non autorizzata.