HTTP 403 Forbidden

Accès refusé : le serveur a compris la requête et refuse délibérément de l'exécuter.

Ce que signifie HTTP 403

HTTP 403 Forbidden signifie que le serveur sait ce que vous avez demandé et refuse. Contrairement à 401, se (ré)authentifier n'aidera pas — le refus concerne les permissions ou la politique, pas l'identité.

Les raisons vont des permissions du système de fichiers sur le serveur, aux blocages géo/IP, jusqu'à un pare-feu applicatif décidant que la requête paraît malveillante. Certains sites renvoient aussi 403 au lieu de 404 pour masquer l'existence d'une ressource.

Causes courantes des erreurs 403

  • Droits insuffisants : le compte n'a pas le rôle requis ou le fichier n'a pas les permissions de lecture (chmod/propriétaire sur le serveur).
  • Adresse IP, pays ou user-agent bloqué par le serveur, le CDN ou une règle WAF.
  • Listing de répertoire demandé alors que l'autoindex est désactivé (pas d'index.html dans le dossier).
  • Protection anti-hotlink rejetant les requêtes avec un Referer étranger.
  • Un challenge Cloudflare ou d'un autre WAF a échoué — le trafic automatisé rencontre souvent un 403 ici.

Comment la corriger en tant qu'utilisateur

  • Vérifiez que vous êtes connecté à un compte qui a réellement accès.
  • Essayez sans VPN ni proxy — votre IP de sortie peut être bloquée.
  • Si vous êtes propriétaire du contenu, vérifiez les permissions de fichiers et les règles .htaccess/WAF plutôt que de réessayer.

Comment la corriger en tant que développeur

  • Vérifiez la propriété et les permissions des fichiers (par exemple 644 pour les fichiers / 755 pour les répertoires sur un serveur web classique).
  • Passez en revue les règles de refus : .htaccess, directives deny nginx, extensions de sécurité, règles managées du WAF.
  • Assurez-vous qu'un document d'index existe ou activez/désactivez explicitement le listing de répertoire comme prévu.
  • Pour les API, renvoyez 403 avec une raison lisible par machine afin que les clients distinguent politique et échec d'authentification.

Exemple de réponse

HTTP/1.1 403 Forbidden
Content-Type: application/json

{"error":"forbidden","reason":"account lacks role: admin"}

FAQ

Quelle est la différence entre 403 et 401 ?

401 vous demande de vous authentifier ; 403 dit que l'authentification ne changera pas la réponse — vous n'êtes tout simplement pas autorisé.

Pourquoi un bot ou un script reçoit 403 alors qu'un navigateur fonctionne ?

Un WAF ou une couche de protection anti-bot filtre le trafic non-navigateur. Identifiez-vous correctement ou utilisez l'API officielle du site.

Un 403 peut-il être renvoyé à la place d'un 404 ?

Oui — certains serveurs cachent l'existence de ressources en répondant uniformément par 403 (ou 404) pour tout ce qui n'est pas autorisé.